HMAC 生成工具

使用 SHA-1、SHA-2 或 SHA-3,从消息和密钥计算 HMAC,与预期签名比对验证,并以十六进制或 Base64 输出——全部在浏览器中完成。

正在加载工具…

HMAC 生成工具输入消息和密钥,选择 SHA-1、SHA-256、SHA-384、SHA-512 或某个 SHA-3 变体,即可立即得到对应的 HMAC 签名,并随输入实时更新。可将密钥按 UTF-8、十六进制或 Base64 解析,将结果以小写或大写十六进制或 Base64 输出,还可粘贴一个预期值以常量时间比较进行验证。一切都在本地运行——SHA-2 通过 Web Crypto API,SHA-3 通过浏览器内的 WebAssembly——你的消息和密钥都不会离开浏览器。

HMAC 生成工具 是什么?

HMAC 生成器是一款免费的在线工具,可从任意文本消息和共享密钥计算出基于密钥的哈希消息认证码(HMAC)。它通过 Web Crypto API 支持 SHA-1、SHA-256、SHA-384 和 SHA-512,并支持 SHA-3 家族——SHA3-224、SHA3-256、SHA3-384 和 SHA3-512——签名可以小写或大写十六进制或 Base64 输出。你可以把密钥当作 UTF-8 文本、十六进制或 Base64 字节来解析,也可以粘贴一个预期 HMAC 切换到验证模式,比较采用抵御计时攻击的常量时间算法。开发者用它来为 Webhook 负载签名、构建和验证 API 请求签名、生成防篡改令牌,或确认某个值是否与另一系统的签名一致。当你修改任意字段时,签名都会实时重新计算,并完全在浏览器中运行。常见搜索包括「hmac sha256 generator」「hmac sha3」「hmac base64」和「hmac verify online」。

如何使用 HMAC 生成工具

  1. 在输入框中输入或粘贴你要签名的消息。
  2. 输入你的共享密钥,并在「选项」中选择它是 UTF-8、十六进制还是 Base64。
  3. 从下拉菜单中选择哈希算法——SHA-1、SHA-256、SHA-384、SHA-512 或某个 SHA-3 变体。
  4. 在十六进制和 Base64 之间切换输出,如需要可在「选项」中切换十六进制大写。
  5. 查看自动更新的 HMAC,然后点击复制——或将预期 HMAC 粘贴到验证字段以检查是否匹配。

示例

十六进制的 HMAC-SHA256

输入

消息: The quick brown fox
密钥: secret
算法: SHA-256
编码: 十六进制

输出

7a284e5025f32a846fa3e6957d10278eb5726dd4e0b04c8e0259defcd2cd0eb1

相同输入的 Base64

输入

消息: The quick brown fox
密钥: secret
算法: SHA-256
编码: Base64

输出

eihOUCXzKoRvo+aVfRAnjrVybdTgsEyOAlne/NLNDrE=

验证签名

将预期 HMAC 粘贴到验证字段;当它与计算出的签名一致时,工具会报告匹配,比较采用常量时间算法。十六进制比较时不区分大小写。

常见问题

支持哪些哈希算法和编码?
SHA-1、SHA-256、SHA-384 和 SHA-512(通过 Web Crypto API)以及 SHA-3 家族(SHA3-224、SHA3-256、SHA3-384、SHA3-512)。签名以小写或大写十六进制或 Base64 显示,密钥可按 UTF-8、十六进制或 Base64 解析。
我的消息和密钥会被上传到任何地方吗?
不会。HMAC 完全在客户端计算:SHA-2 使用 Web Crypto API,SHA-3 使用浏览器内的 WebAssembly。消息和密钥都绝不会发送到服务器,因此使用真实密钥也很安全。
验证模式如何工作?
将你预期的值粘贴到验证字段。工具会用一个从不提前退出的常量时间算法把它与刚计算出的 HMAC 比较,因此比较用时不会泄露不匹配发生的位置。十六进制比较时不区分大小写。
密钥是如何处理的?
默认情况下密钥是 UTF-8 文本,但你可以在「选项」中切换为十六进制或 Base64,以便精确解码二进制密钥。密钥字段是密码输入框——在屏幕上被遮蔽,并被排除在保存的工作区状态之外——且仅在你的浏览器中使用。
为什么我的 HMAC 和别的工具不一样?
HMAC 完全取决于消息字节、密钥字节和所选哈希。尾随空格、不同的算法、十六进制与 Base64、大写与小写十六进制,或不同的密钥编码,都会改变结果。

相关工具