大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
Https加密
介绍
Http直接通过明文在浏览器和服务器之间传递消息,容易被监听抓取到通信内容。
Https采用对称加密和非对称加密结合的方式来进行通信。
Https不是应用层的新协议,而是Http通信接口用SSL和TLS来加强加密和认证机制。
加密方式
- 对称加密:加密和解密都是同一个密匙。
- 非对称加密:密钥成对出现,分为公钥和私钥,公钥加密需要私钥解密,私钥加密需要公钥解密。
两者区别
- 对称加密速度快,非对称加密速度慢。
- 对称加密要将密钥暴露,和明文传输没区别。
- 非对称加密将公钥暴露,供客户端加密,服务端使用私钥解密。
Https加密的选择
对称加密弊端
对称加密速度快,适合Https加密算法,但是服务器和浏览器之间传递密钥的过程被人监听,相当明文传输。
非对称加密弊端
服务端只将公钥暴露,浏览器使用公钥对消息进行非对称加密,服务端用私钥解密。但是服务端向浏览器回复的时候,只能用私钥进行加密,浏览器只能用公钥解密。但是:公钥是所有人都知道的,所有人都可以读取服务端回复的消息来进行解密,所以解决不了服务端向浏览器传递消息。
Https加密
对称加密和非对称加密结合方式
- 浏览器使用Https的URL访问服务器,建立SSL链接。
- 服务器收到SSL链接,发送非对称加密的公钥A返回给浏览器
- 浏览器生成随机数,作为对称加密的密钥B
- 浏览器使用公钥A,对自己生成的密钥B进行加密,得到密钥C
- 浏览器将密钥C,发送给服务器。
- 服务器用私钥D对接受的密钥C进行解密,得到对称加密钥B。
- 浏览器和服务器之间可以用密钥B作为对称加密密钥进行通信。
总结
这样浏览器和服务器就共享一个对称加密密钥B,重要的是不会被拦截到。只在传输密钥B的时候进行了一次非对称加密,之后就用对称加密进行传送数据。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/201137.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...