https 对称加密非对称加密
对称加密
在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。
如果客户端要给服务器发送数据,也是采用这把密钥来加密(这里为了方便,我采用单方向传输的形式)
服务器是怎么把秘钥传输给客户端的呢
密钥传输采用的是明文方式传输的,那万一秘钥在传输过程中被劫持了怎么办?
假如服务器用明文的方式传输密钥给客户端,然后密钥被中间人给捕获了,那么在之后服务器和客户端的加密传输过程中,中间人也可以用他捕获的密钥进行解密。这样的话,加密的数据在中间人看来和明文没啥两样。
非对称加密
为了防止对称加密的秘钥在传输过程中被劫持,所有我们用非对称加密处理。
这种方法就是,让客户端和服务器都拥有两把钥匙,一把钥匙是公开的(全世界知道都没关系),我们称之为公钥;另一把钥匙则是保密的(只有自己本人才知道),我们称之为私钥。这且,用公钥加密的数据,只