https如何加密解密?

490 阅读2分钟

背景

我们知道,https,在网络传输中,加密。具体来说是数据加密。//客户端和服务器,写数据的时候,都会加密。即1.客户端——》服务器 2.服务器——》客户端。

如何加密 解密?

加密解密

想要加密和解密,必然要使用一种加密解密算法。具体来说是对称加密算法。


为什么一定要使用对称加密算法?

1.第一,首先一定要是加密解密算法。
2.第二,秘钥还要安全传输。即秘钥生成端(客户端)要把这个秘钥给到服务器端。


秘钥怎么安全传输?
非对称加密。

非对称加密

1.首先,要解决的问题是传输秘钥。

2.秘钥也需要安全的传输,那么怎么安全的传输秘钥?非对称加密。即公钥和私钥。


流程如下

1.客户端使用公钥加密秘钥 //这个秘钥是加密数据的秘钥
2.给服务器 //因为秘钥被加密,所以是安全的
3.服务器使用私钥解密,得到秘钥 //现在,客户端和服务器都有了秘钥

4.客户端《——》服务器端 //通过秘钥加密数据,双方均可以加密数据和解密数据


客户端如何得到公钥?
1.服务器生成公钥和私钥
2.给公钥到客户端

流程图

下面不同的流程图,基本上一个意思


数字证书

https为什么一定要有数字证书?

1.服务器需要校验客户端证书 2.客户端需要校验服务器证书

二者,都是通过证书颁发机构中心来校验对方证书的。中心说合法,那么就是合法。


服务器证书如何配置?
比如,tomcat等,都可以在connector标签里配置。

数字证书到底包含了什么内容?

保存各种秘钥。1.加密数据的对称秘钥2.加密秘钥的非对称秘钥对,即公钥和私钥。

https用到了哪些安全算法?

核心有两个
1.加密数据的算法 //对称加密算法
2.加密秘钥的算法 // 1.秘钥指的是加密数据秘钥2.加密秘钥是非对称加密算法

一个确保数据安全,一个确保加密数据的秘钥安全。

参考

java加密和解密的艺术