ZH
我的工具

HMAC 生成器

使用 MD5、SHA-1、SHA-224/256/384/512 或 RIPEMD-160 计算 HMAC。密钥和消息可用文本、十六进制或 Base64,输出支持十六进制、Base64、Base64URL,全部在浏览器中运行。

我的工具 →
广告

HMAC(基于哈希的消息认证码)把密钥与哈希函数结合起来,用来证明消息真实且未被篡改,是 API 请求签名、Webhook 和 JWT HS256 令牌背后的机制。本工具支持七种哈希函数来计算 HMAC,密钥和消息可以是文本、十六进制或 Base64,全部在浏览器中完成。

使用方法

  1. 输入消息和密钥。
  2. 设置各自的编码(文本、十六进制或 Base64)。
  3. 选择哈希算法。
  4. 复制 HMAC,或粘贴期望的值来检查是否一致。

计算公式

HMAC(K, m) = H((K ⊕ opad) ∥ H((K ⊕ ipad) ∥ m)),其中 H 是所选的哈希函数,ipad 和 opad 是固定的填充常量。如果密钥比分组长度还长,会先对密钥做哈希。

示例

密钥为 "Jefe"、消息为 "what do ya want for nothing?" 时,HMAC-SHA256 为 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843,与 RFC 4231 的测试用例 2 一致。

常见问题

为什么不直接对“密钥+消息”做哈希?

把消息接在密钥后面再哈希,容易受到长度扩展攻击。HMAC 采用内外两层填充的嵌套结构,可以避免这个问题。

应该选哪种算法?

HMAC-SHA256 是常用的默认选择,也是安全的。新系统请避免使用 HMAC-MD5 和 HMAC-SHA1,不过它们仍出现在一些旧协议里。

如何验证签名?

用收到的消息和共享密钥重新计算 HMAC,再与收到的签名比较。把期望的值粘贴到比对框里即可检查。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). HMAC 生成器. https://kakao.mobile/zh/tools/hmac-generator/

MLA

“HMAC 生成器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/hmac-generator/.

广告