网络知识

HTTPS 如何加密

HTTPS=数据加密+网站认证+完整性验证+HTTP

HTTPS 就是在 HTTP 传输协议的基础上对网站进行认证,给予它独一无二的身份证明,再对网站数据进行加密,并对传输的数据进行完整性验证。

HTTPS 作为一种加密手段不仅加密了数据,还给了网站一张身份证。

如果整个网站都是走HTTPS的,那服务器返回的内容都是被加密的,你能看到网页内容是因为浏览器已经解密了。

大概过程,实际过程更复杂:

  • 你访问HTTPS网站,网站把公钥给你。
  • 你验证公钥,然后生成一个串随机AES_128密码(假如是用AES加密),并把这个密码用刚才那个公钥加密,发给服务端。
  • 服务端用公钥对应的私钥解密你的发送的数据,得到你随机生成的AES_128密码,并把网页内容全部用AES_128加密器起来,发会给你。
  • 浏览器用刚刚的AES_128密码解密 服务器返回的数据,得到你可读的内容。
  • 之后你发出的请求数据,也是用AES_128密码来加密。
  • 浏览器返回的网站内容都是用对称加密(比如AES128)加密起来的,而这个密码又是你临时生成了,所以第三方无法知道你访问的内容是什么。