1、https的工作原理大概是这样的:
1、浏览器将自己支持的加密规则发送给网站
2、网站从这套加密规则里选出一套加密算法和hash 算法,然后把自己的身份信息用证书的方式发回给浏览器,证书里面有网站地址、加密公钥、证书颁发机构
3、浏览器验证证书的合法性,然后浏览器地址栏上会出现一把小锁,浏览器接着生成一串随机数密码,然后用证书里的公钥进行加密。接着用约定好的hash算法计算握手消息的hash值,然后用随机密码对信息进行加密,然后把所有的东西发送给网站。
4、网站从消息里面用私钥解密出随机密码,然后对握手消息进行解密,然后用计算出握手消息的hash值,和浏览器发送过来的hash值进行比对,如果一致,然后用密码加密一段握手信息和握手信息的hash值,发给浏览器。
5、浏览器解密握手信息,然后计算消息的hash值,如果和网站发送过来的都一样,握手就结束,之后所有的数据都会由
浏览器之前生成的随机密码加密发送给网站。