zoukankan      html  css  js  c++  java
  • https数据传输对称、非对称、数字证书详解

    ①对称加密(一把密钥):
        1、A和B事先传输一把密钥,A给B发消息用密钥加密,B给A发消息用密钥解密
        问题:密钥被黑客截取,得到实际内容
    ②非对称加密(两把密钥):
        1、A和B都有一把私钥和一把公钥    2、一把钥匙的公开的(全世界都知道也没关系),称之为公钥;而另一把钥匙是保密(也就是只有自己才知道),称之为私钥。并且,用公钥加密的数据,只有对应的私钥才能解密;用私钥加密的数据,只有对应的公钥才能解密。
        3、A给B发消息时,用B的公钥加密,B收到消息后,用自己的私钥进行解密    问题:B在给A发送公钥的时候,被黑客截取,黑客给A发送自己的公钥而不是B的,那么A给B发消息时,黑客可以用自己的私钥解密,得到实际内容,再用B的公钥加密发送给B。
    ③数字证书:
        问题②的问题在于,A收到B的公钥,无法确定收到的公钥是B还是黑客的
        所以,需要找到一种策略确定公钥是B的:即数字证书
        1、找到一个公正的机构(CA)
        2、B的公钥和B的个人信息-->通过hash算法生成消息摘要-->通过CA的私钥加密生成数字签名
        3、将数字签名、B的公钥、B的个人信息合并一起,形成数字证书
        验证:
        1、用CA的公钥解析数字签名得消息摘要
        2、B的公钥和B的个人信息-->通过hash算法生成消息摘要
        3、两个消息摘要对比,如果一样,则说明公钥是B的

  • 相关阅读:
    MS SQLSERVER 第三天
    MS SQLSERVER 第二天
    今天开始我的 MSSQLSERVER 之旅
    从今天开始就正式我的博客之旅
    mac 本地搭建mybatisGenerator代码生成环境
    idea中git远程版本回退
    Junit调试解决本地多线程异步调用
    Lambda表达式总结
    JDK8函数式编程之Stream API
    MySql分页查询慢的解决方案
  • 原文地址:https://www.cnblogs.com/zhuziyu/p/9395775.html
Copyright © 2011-2022 走看看