学习笔记: 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的元素然后重新组装成一个数组或者直接 ...
随机推荐
- JDK源代码学习-ArrayList、LinkedList、HashMap
ArrayList.LinkedList.HashMap是Java开发中非常常见的数据类型.它们的区别也非常明显的,在Java中也非常具有代表性.在Java中,常见的数据结构是:数组.链表,其他数据结 ...
- VS界面控件大小调整
vs2015 ,配置名称显示不全,怎么才能把这个搞宽? 这个问题困扰时间挺长了, 对vs的应用仅限于敲代码.编译, 其他的功能了解甚少, 于是试着在右键菜单中找到了界面自定义窗口, 如下: 找到想要修 ...
- [python]python3.7中文手册
https://pythoncaff.com/docs/tutorial/3.7.0
- 解决类似umount target is busy挂载盘卸载不掉问题
问题描述: Linux下挂载后的分区或者磁盘某些时候需要umount的时候出现类似“umount: /mnt: target is busy.”等字样,或者“umount: /xxx: device ...
- [九省联考2018]秘密袭击coat
[九省联考2018]秘密袭击coat 研究半天题解啊... 全网几乎唯一的官方做法的题解:链接 别的都是暴力.... 要是n=3333暴力就完了. 一.问题转化 每个联通块第k大的数,直观统计的话,会 ...
- django系列6:模板
当前编辑的django页面,是默认的UI,如果想要改变页面展示,就需要用到模板. 模板的原理是这样的: 实际步骤: 1.编辑views.py,将template和content做好映射 from dj ...
- Python的编码和解码
Python的编码和解码 在不同的国家,存在不同的文字,由于现在的软件都要做到国际化通用,所以必须要有一种语言或编码方式,来实现各种编码的解码,然后重新编码. 在西方国家,没有汉字,只有英文,所以最开 ...
- ajax实现长连接
项目需求:需要实时的读取日志文件里的数据,并且使用Echart实时更新折线图. 使用ajax实现客户端与服务器端的数据传输. 目的:我想通过ajax与服务器建立一个长连接,服务器会不断的传输数据给前台 ...
- pandas的分布式执行框架之modin
Scale your pandas workflows by changing one line of code To use Modin, replace the pandas impo ...
- openstack项目【day24】:VLAN模式
本节内容 一 二层基础知识 1.1 vlan介绍 1.1.1:vlan的含义 1.1.2:vlan的类型 1.1.3:vlan的不足 1.2 : 二层交换的基础知识 1.2.1:二层交换机最基本的功能 ...