HMAC算法

HASH算法只能验证数据完整性,无法验证发送方身份,计算中无密钥参与。

HASH算法存在中间人攻击,攻击者篡改原始消息,并计算新的HASH值,发送给接收方,接收方依然认为消息是完整的。

MAC既可以验证数据完整性,也可以验证发送方的身份,计算中有密钥参与,通信双方维护同一把密钥。

MAC算法有两种形式:CBC-MAC和HMAC,HTTP中应用最多的是HMAC。