1. 不对称可逆加密的 的2种用法

(1)保证信息不被篡改

(2) 保证信息只能被我看到

2. CA证书的基本原理

流程如下:  百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩展信息, 也就是如下图12345信息

CA机构会把 12345 提取MD5摘要, 然后用自己的私钥 加密,生成数字签名

CA机构的解密钥 是内置在了 浏览器中

证书安装在IIS

请求开始: 浏览器访问 iis, iis先把 123456信息给浏览器, 浏览器用内置的 解密钥解密数字签名, 看是否是MD5, 再把12345进行MD5加密看 是否与解密的MD5 是否一致 才确认是否百度服务器

CA认证通过 ,只是证明了 访问的是百度的服务器

那么 浏览器 与 服务器之间的 信息安全怎么保证呢?

3. 单边认证 HTTPS

根据上面2步骤描述, 能解密=CA证书是CA机构发的,  MD5匹配,说明上图 12345信息无误,

这样 就拿到了 服务器的 公钥(加密钥)  ,浏览器用该 公钥加密 "1234" 给服务器 , 服务器返还解密结果 ,证明 我是证书对应的服务器

下面 双方约定使用 随即字符串 作为对称加密key 吧数据进行加密传输

4. 对于有些网站 如12306 为什么会显示不安全呢?

因为它没有使用CA机构颁发的证书, 它的证书是自己颁发的, 浏览器没有内置 12306的根证书

5. 私钥是不是只用来加密? 公钥只用来解密?

公钥私钥 与加密解密无关系, 如图1,图2 所示

excel资料 下载链接 https://files.cnblogs.com/files/xtxtx/%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86.rar

学习笔记: MD5/DES/RSA三类加密,SSL协议解析的更多相关文章

  1. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)

    最先附上 下载地址 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作. 笔 ...

  2. RSA算法、SSL协议学习笔记

    最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...

  3. Dynamic CRM 2013学习笔记(一)插件输入实体参数解析

      1. 问题描述 最近新建了一个post事件的插件,传入的参数处理如下: 1: if (context.InputParameters.Contains("Target") &a ...

  4. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)(加解密)

    转自http://www.cppblog.com/ArthasLee/archive/2010/12/01/135186.html 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后 ...

  5. shiro入门学习--使用MD5和salt进行加密|练气后期

    写在前面 在上一篇文章<Shiro入门学习---使用自定义Realm完成认证|练气中期>当中,我们学会了使用自定义Realm实现shiro数据源的切换,我们可以切换成从关系数据库如MySQ ...

  6. Android开发学习笔记-md5加密算法

    十六位的md5加密 private static void Md5(String plainText ) { try { MessageDigest md = MessageDigest.getIns ...

  7. Web安全学习笔记之DES算法实例详解

    转自http://www.hankcs.com/security/des-algorithm-illustrated.html 译自J. Orlin Grabbe的名作<DES Algorith ...

  8. [读书笔记]C#学习笔记六: C#3.0Lambda表达式及Linq解析

    前言 最早使用到Lambda表达式是因为一个需求:如果一个数组是:int[] s = new int[]{1,3,5,9,14,16,22};例如只想要这个数组中小于15的元素然后重新组装成一个数组或 ...

  9. C#学习笔记五: C#3.0Lambda表达式及Linq解析

    最早使用到Lambda表达式是因为一个需求:如果一个数组是:int[] s = new int[]{1,3,5,9,14,16,22};例如只想要这个数组中小于15的元素然后重新组装成一个数组或者直接 ...

随机推荐

  1. JAVA多线程-实现同步

    一.什么是线程安全问题 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题.但是做读操作是不会发生数据冲突问题. 二.如何解决线程安全问题 1)如何 ...

  2. Html | Vue | Element UI——引入使用

    前言 做个项目,需要一个效果刚好Element UI有,就想配合Vue和Element UI,放在tp5.1下使用,但是引入在线的地址各种报错,本地引入就完美的解决了问题! 代码 __STATIC_J ...

  3. Java【初识篇】语言概述

    什么是计算机语言 语言:是人与人之间用于沟通的一种方式.例如:中国人与中国人用普通话沟通.而中国人要和英国人交流,就要学习英语.计算机语言(编程语言):人与计算机交流的方式.如果人要与计算机交流,那么 ...

  4. django restframework jwt

    既然要来学习jwt(json web token),那么我们肯定是先要了解jwt的优势以及应用场景--跨域认证. $ pip install djangorestframework-jwt 传统coo ...

  5. (字符串 数组 递归 双指针) leetcode 344. Reverse String

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

  6. SpringBoot使用消息队列RabbitMQ

    RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲.消息分发的作用.RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即Advan ...

  7. Docker:容器的四种网络类型 [十三]

    一.None类型 简介:不为容器配置任何网络功能,--net=none 1.创建容器 docker run -it --network none busubox:latest 2.功能测试 [root ...

  8. jQuery使用(十三):工具方法

    proxy() onConflict() each() map() parseJson() makeArray() proxy() $.proxy()的实现机制与原生javaScript中的bind( ...

  9. Mysql漏洞修复方法思路及注意事项

    [系统环境] 系统环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga)  +  5.7.16 MySQL Community Server  ...

  10. [高中作文赏析]妈妈, 我心中的"灯"