HMAC

HMAC 生成器

在线生成 HMAC-SHA1 / SHA256 / SHA512

安全与认证
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月29日
选项模式
输入

先贴消息并填 secret,直接生成 HMAC;算法切换和对照案例可在高级模式查看。

Algorithms
🔒 浏览器内本地处理 · Web Crypto API
输出
输入消息和密钥后生成 HMAC
页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

通过 Web Crypto 对 UTF-8 消息和 UTF-8 文本密钥计算 HMAC-SHA1、HMAC-SHA256、HMAC-SHA512,输出小写十六进制字符串。消息和密钥仅保存在当前页面内存中,不保存密钥草稿,也不会自动拼接某个平台专用的 webhook 签名串。

生产可用片段

固定的 HMAC-SHA256 测试向量

text

Key: key
Message: The quick brown fox jumps over the lazy dog
HMAC-SHA256:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

推荐工作流

常见问题

HMAC 会加密消息吗?

不会。它用共享密钥认证消息,但不隐藏消息内容。验证需要相同密钥和完全相同的字节;普通哈希不提供同样的共享密钥认证。

支持哪些算法与输出编码?

支持 HMAC 中的 SHA-1、SHA-256、SHA-512,分别输出 40、64、128 个小写十六进制字符。未提供 MD5、SHA-384、Base64 输出或十六进制/Base64 密钥自动解码。

为什么 webhook 签名对不上?

请检查原文、空白、换行、UTF-8 编码、密钥字节和输出格式。平台可能要求将时间戳、HTTP 方法或原始请求体加入待签名串,本页面不会自动添加。

能签空消息或使用空密钥吗?

当前界面要求消息不全为空白、密钥非空。计算使用原始消息,不会先裁剪空白。这是界面限制,不是 HMAC 的数学限制。

怎样选择算法和处理密钥?

应遵循所测试协议的约定,不能只按摘要长度选择。新设计常用 HMAC-SHA256。此处请用虚构测试密钥;计算在本地完成,旧版明文草稿会被移除,新消息和密钥不再持久化。

继续浏览