概述
超文本传输安全协议(HyperText Transfer Protocol Secure,缩写:HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来加密数据包。其主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
了解HTTPS,有助于我们定位和解决日常遇到的网路问题,对HTTPS流程的了解程度,也在一定程度上反映了一个开发人员的网络知识基本功。
加密与签名
Hash
「Hash算法」也被称为散列算法。「Hash算法」没有一个固定的公式,只要符合散列思想的算法都可以被称为是「Hash算法」。
通常无法通过数据的hash值还原出原始数据,不同数据的hash值不同,所以可以用「Hash算法」来校验完整性,检测数据是否完整或者是否有更改。
对称加密
加密与解密使用同样的密钥。
对称加密效率较高,被广泛应用于各种加密协议,然而在通讯前需要将密钥发送给对方,容易导致密钥泄漏。
非对称加密
非对称加密使用了一对密钥:公钥和私钥。私钥只能由一方保管,不能外泄,而公钥则可以发给任何请求者。通过公钥加密的数据只能由私钥解开。
相比对称加密而言,非对称加密是十分安全的,但是加密和解密效率却没有对称加密高。
数据签名
数据签名可以理解为:利用非对称加密中的私钥对「数据的 Hash 值」进行加密后的数据。