Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 536

HMAC

审核人Cybersecurity entrepreneur & security researcher

HMAC 是什么?

HMAC基于密码学哈希函数的带密钥消息认证码结构,由 RFC 2104 与 FIPS 198-1 定义。


HMAC(Hash-based Message Authentication Code)是一种对称 MAC 构造,定义于 RFC 2104 与 FIPS 198-1,将秘密密钥 K 与哈希函数 H 结合生成 tag:HMAC(K,m) = H((K' XOR opad) || H((K' XOR ipad) || m))。这种嵌套结构使 HMAC 即使在与 Merkle-Damgård 类哈希(如 SHA-256)配合使用时,也能抵御长度扩展攻击;其安全性可归约为压缩函数的弱抗碰撞性与伪随机性。常见实例 HMAC-SHA-256 与 HMAC-SHA-512 被广泛用于 TLS 记录保护、JWT 签名、OAuth、IPsec,以及作为 PBKDF2 和 HKDF 的内部 PRF。HMAC 仍是对称消息认证的可靠默认选择。

示例

  1. 01

    采用 HS256 算法的 JWT 令牌使用 HMAC-SHA-256 进行签名。

  2. 02

    AWS Signature Version 4 使用 HMAC-SHA-256 对 API 请求进行签名。

常见问题

HMAC 是什么?

基于密码学哈希函数的带密钥消息认证码结构,由 RFC 2104 与 FIPS 198-1 定义。 它属于网络安全的 密码学 分类。

HMAC 是什么意思?

基于密码学哈希函数的带密钥消息认证码结构,由 RFC 2104 与 FIPS 198-1 定义。

如何防御 HMAC?

针对 HMAC 的防御通常结合技术控制与运营实践,详见上方完整定义。

HMAC 还有哪些其他名称?

常见的别称包括: 带密钥哈希 MAC, RFC 2104 HMAC。

相关术语

另见