zoukankan      html  css  js  c++  java
  • OpenSSL

    功能应用:

    1. 消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA、MD5
    2. 数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法
    3. 数字证书:可以通过命令行或代码生成证书,证书内包含了公钥
    4. 数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA
    5. 随机数字:产生可靠的随机数

    加密算法:

    HASH算法:SHA、MD5等,不可逆加密,用于校验数据的完整性。

    对称加密算法:DES、3DES、DESX等,双方使用相同的密钥进行加密解密。

    非对称算法:RSA、ECC等,双方使用不同的密钥进行加密解密,公钥和私钥。公钥加密的数据只有私钥能解密,反之亦然。

     

    其中RSA使用最为广泛,可同时用于数据加密和数字签名。

    公钥和私钥:

    公钥:公开的,提供给他人的加密解密钥匙,可以提供给多人。

    私钥:只能自己一个人使用,不公开

    性质:公钥和私钥都能进行加密解密,公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密。

    应用场景:

    • 公钥数据加密

    数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥。进行数据传输时,利用对方的公钥进行数据加密。加密后的数据只有对方的私钥才能进行解密。

    • 私钥数字签名

    私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成。可以用于消息来源验证。将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解密比较确认数据来源可靠。

     

    数字证书:

    数字证书的作用:通信双方使用公钥和私钥进行加密解密。依然存在风险,当用户公钥被他人替换,他人就可以冒充进行通信。证书内包含了公钥提供者的信息,如地址,邮箱,域名等,并且由第三方机构提供和加密,保证了公钥的可靠性。

    利用证书,用户根据证书信息与消息来源进行比较,确认公钥的可靠性,证书由第三方机构颁布。

  • 相关阅读:
    工作总结 vue 城会玩
    vue中,class、内联style绑定、computed属性
    vue-router2.0 组件之间传参及获取动态参数
    vue-router(2.0)
    在v-for中利用index来对第一项添加class(vue2.0)
    机器学习:从入门到沉迷
    探索AutoLayout的本质和解决一些问题
    软件的极简主义
    数组最大差值的最优解法(动态规划)
    项目管理--敏捷开发在项目中使用
  • 原文地址:https://www.cnblogs.com/binchen-china/p/5650774.html
Copyright © 2011-2022 走看看