学习笔记: MD5/DES/RSA三类加密,SSL协议解析
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协议解析的更多相关文章
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
最先附上 下载地址 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作. 笔 ...
- RSA算法、SSL协议学习笔记
最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...
- Dynamic CRM 2013学习笔记(一)插件输入实体参数解析
1. 问题描述 最近新建了一个post事件的插件,传入的参数处理如下: 1: if (context.InputParameters.Contains("Target") &a ...
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)(加解密)
转自http://www.cppblog.com/ArthasLee/archive/2010/12/01/135186.html 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后 ...
- shiro入门学习--使用MD5和salt进行加密|练气后期
写在前面 在上一篇文章<Shiro入门学习---使用自定义Realm完成认证|练气中期>当中,我们学会了使用自定义Realm实现shiro数据源的切换,我们可以切换成从关系数据库如MySQ ...
- Android开发学习笔记-md5加密算法
十六位的md5加密 private static void Md5(String plainText ) { try { MessageDigest md = MessageDigest.getIns ...
- Web安全学习笔记之DES算法实例详解
转自http://www.hankcs.com/security/des-algorithm-illustrated.html 译自J. Orlin Grabbe的名作<DES Algorith ...
- [读书笔记]C#学习笔记六: C#3.0Lambda表达式及Linq解析
前言 最早使用到Lambda表达式是因为一个需求:如果一个数组是:int[] s = new int[]{1,3,5,9,14,16,22};例如只想要这个数组中小于15的元素然后重新组装成一个数组或 ...
- C#学习笔记五: C#3.0Lambda表达式及Linq解析
最早使用到Lambda表达式是因为一个需求:如果一个数组是:int[] s = new int[]{1,3,5,9,14,16,22};例如只想要这个数组中小于15的元素然后重新组装成一个数组或者直接 ...
随机推荐
- 利用JDBC工具类 模拟用户登录!
一.建库 设置 id为主键并自增! 二.定义登录接口 package com.aaa.dao; public interface IDengDao { /* 1.定义一个登陆的接口,参数是name 和 ...
- Java 找出四位数的所有吸血鬼数字 基础代码实例
/** * 找出四位数的所有吸血鬼数字 * 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序. * 以两个 ...
- position:fixed not work?
问题 在position:fixed的使用中,突然发现某个操作之后,fixed定位的位置变了?? bottom:0,left:0.本来应该在最下面,结果跑没影了. wtf?position:fixed ...
- Mysql双主热备+LVS+Keepalived高可用部署实施手册
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...
- Prometheus-配置解析
1.Prometheus整体架构图 2.配置文件 # 全局配置 global: scrape_interval: 15s # 多久 收集 一次数据 evaluation_interval: 30s # ...
- Numpy 系列(八)- 广播机制
什么是广播 我们都知道,Numpy中的基本运算(加.减.乘.除.求余等等)都是元素级别的,但是这仅仅局限于两个数组的形状相同的情况下. 可是大家又会发现,如果让一个数组加1的话,结果时整个数组的结果都 ...
- mysql 端口修改
mysql 修改端口 1. 停止mysql服务 2. 打开文件夹下my.ini文件.(E:\mysql-5.7-3307) 修改文件中的port值,注意两个地方: [client]default- ...
- 五道java小题,补更四道java小题
一:分析以下需求,并用代码实现 1.定义List集合,存入多个字符串 2.删除集合中字符串"def" 3.然后利用迭代器遍历集合元素并输出 import j ...
- SpringBoot系列: Spring项目异常处理最佳实践
===================================自定义异常类===================================稍具规模的项目, 一般都要自定义一组异常类, 这 ...
- nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书
开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...