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使用最为广泛,可同时用于数据加密和数字签名。

    公钥和私钥:

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

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

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

    应用场景:

    • 公钥数据加密

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

    • 私钥数字签名

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

     

    数字证书:

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

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

     
     
  • 相关阅读:
    [转]关闭 Chrome 浏览器的启动时提示 - 请停用以开发者模式运行的扩展程序
    [Java][Web]ServletContext 方法的应用
    SQL中char、varchar、nchar、nvarchar 详解
    数据库三级模式与二级映像
    数据库设计思考
    Oracle概述
    asp.net服务器控件button先执行js再执行后台的方法
    C# 序列化
    HTML服务器控件与Web服务器控件
    VS2013自带报表+打印功能
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/9145440.html
Copyright © 2011-2022 走看看