HMAC 生成器

在线计算 HMAC 消息认证码,支持 MD5/SHA1/SHA256/SHA512 与密钥、十六进制/Base64 输出。纯浏览器本地计算,数据不上传服务器。

本地计算 · 数据不上传
广告

工具说明

工具说明

HMAC(Keyed-Hash Message Authentication Code)用密钥对消息做哈希,既能校验数据完整性,也能验证发送方身份。本工具支持 MD5、SHA1、SHA256、SHA512 四种算法,可在十六进制与 Base64 之间切换输出格式,全部在你的浏览器内完成计算。

使用示例

密钥填入 devutils-secret,输入 Hello, HMAC!,选择 SHA256:

64a3d10cf99ea5392c2a1feaae08e307d0c4ab1695522f6d98d9a7e5eec6c229

切换到 Base64 输出后可得到 ZKPc/bin5LJyx4P4n6 前缀形式。勾选「大写输出」可统一为大写字母。

使用建议

HMAC 必须由通信双方共享同一密钥才能校验。密钥请通过安全渠道分发,切勿随密文明文传输。验证方用相同密钥与算法重算 HMAC 并比对即可。

常见问题

Q1.HMAC 和单纯哈希有什么不同?
哈希只能校验完整性,任何人都能计算;HMAC 引入了只有通信双方持有的密钥,因此还能验证来源身份,攻击者无法在不知道密钥的情况下伪造 MAC。
Q2.我的密钥会被上传吗?
不会。密钥与明文都在浏览器内参与计算,断网也能使用,开发者工具的网络面板中看不到任何携带密钥的请求。
Q3.应该选择哪种算法?
新系统优先使用 SHA256 或 SHA512;SHA1 与 MD5 已不再安全,仅用于兼容旧系统。Base64 输出更短,适合放入 HTTP 头或 JSON 字段。
Q4.为什么同样的输入每次结果都一样?
HMAC 是确定性的:相同密钥、算法与输入必然得到相同输出,这正是对比校验的基础。若需要随机性请改用加密而非 MAC。
广告

相关工具