https到底是对称加密还是非对称加密?

之前面试的时候有被人问到过:https使用的是对称加密还是非对称加密?如果对https不是很了解,随便猜一个,那么恭喜你,你已经入了面试官的坑了,不管你回答对称加密还是非对称加密都不对,正确的答案是对称加密+非对称加密。

对称加密:加密的密钥和解密的密钥是一样的。

非对称加密:加密的密钥和解密的密钥不一致,有两种情况1.公钥加密,私钥解密2.私钥加密,公钥解密。

非对称加密的速度比对称加密的速度要慢很多。

http是明文传输,所以非常不安全,而https比http安全就在最后一个s(ssl),它会对传输内容进行加密,那么是如何加密的呢?

1.客户端请求服务端,获取公钥。

2.服务端生成公私钥,自己保存私钥(SK),将公钥(PK)发给客户端。

3.客户端生成随机字符串key,通过公钥(PK)加密后发送给服务端。

4.服务端拿到加密后的内容后,用自己的私钥(SK)进行解密,得到key,后续的过程都是通过密钥(key)来进行对称加密来传输。

从以上的步骤可以看出,传输对称加密的密钥使用的是非对称加密,而传输实际内容使用的是对称加密。

经验分享 程序员 微信小程序 职场和发展