HMAC 签名计算

输入密钥与消息,基于纯 JS 离线实现计算 HMAC-SHA256、HMAC-SHA1、HMAC-MD5 签名的十六进制结果。适用于接口签名、消息完整性校验等场景的本地验证演示,全部在浏览器中完成,不发送任何网络请求。

输入密钥与消息 等待输入

密钥与消息均按 UTF-8 编码转换为字节;密钥可留空(采用全零填充),消息可留空。输入框中按 Ctrl/⌘ + Enter 可快速计算。

签名结果
算法—
密钥字节—
消息字节—
签名长度—
输入密钥与消息后点击「计算签名」,结果将显示在这里。

HMAC 使用密钥与加密哈希结合,可用于消息完整性校验与接口签名演示。

计算规则
  • 计算公式为 HMAC = H((K ⊕ opad) ‖ H((K ⊕ ipad) ‖ M)),其中 ipad 为 0x36、opad 为 0x5C。
  • 密钥与消息均按 UTF-8 转换为字节序列后再参与计算。
  • 密钥长度超过 64 字节时,先对密钥做一次哈希,再补零到 64 字节。
  • 标准参考值(RFC 4231):密钥 0x0b×20、消息 "Hi There" 的 HMAC-SHA256 为 b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7。
  • 标准参考值(RFC 4231):密钥 "Jefe"、消息 "what do ya want for nothing?" 的 HMAC-SHA256 为 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843。
  • 标准参考值(RFC 2202):密钥 "Jefe"、消息 "what do ya want for nothing?" 的 HMAC-MD5 为 750c783e6ab0b503eaa86e310a5db738。