在线HMAC生成

HMAC-SHA256/384/512,消息与密钥生成摘要。

关于在线HMAC生成

hidevtool HMAC 工具用 UTF-8 文本与密钥生成消息认证码,可选 MD5、SHA-1 或 SHA-2 系列算法,以及 Hex/Base64 输出;数据不会上传。

在线HMAC生成能力

密钥是干什么用的?

密钥会和消息一起参与哈希。只有知道同一密钥的一方才能算出相同的 MAC,用来判断消息未被篡改且来自持有密钥的一方。普通 SHA 任何人都能对同样内容重算,无法证明「谁签的」。

哈希算法

  1. HMAC-SHA256 — 当前 API、Webhook 最常用。
  2. HMAC-SHA512 / SHA-384 — 规范要求更长 MAC 时使用。
  3. HMAC-SHA1 — 对接旧系统;新项目不建议。
  4. HMAC-MD5 — 仅兼容遗留接口,勿用于新密钥或支付场景。

消息与密钥

  • 消息与密钥均按 UTF-8 字符串处理,与多数 SDK 示例一致。
  • 收发双方须约定相同算法、密钥与输出编码(Hex 或 Base64)。
  • HMAC 不加密内容,只提供完整性/来源校验。

输出编码

  • 十六进制 — 小写 Hex,便于日志与 JSON 字段。
  • Base64 — 传输更短;以接口文档要求为准。

安全使用建议

  1. 1使用足够长、随机的密钥;生产密钥勿写入公开前端代码。
  2. 2新接口优先 HMAC-SHA256;人员或合作方变更时轮换密钥。
  3. 3服务端比对 MAC 建议使用恒定时间比较,降低时序攻击风险。
  4. 4不同产品、环境勿共用同一密钥。
  5. 5存密码请用 PBKDF2/bcrypt/Argon2 等,不要只用 HMAC。

常见应用场景

API 请求签名

按网关或支付文档对规范化的请求串或 Body 摘要做 HMAC。

Webhook 验签

用回调密钥重算 HMAC,核对 X-Hub-Signature 等请求头。

JWT HS* 联调

在对称密钥 JWT 集成时,对照 HMAC-SHA256 签名是否正确。

常见问题

HMAC 有什么用?
API 签名、Webhook 校验,以及双方约定同一密钥、需要检测报文被篡改的场景。
为什么要填密钥?
没有密钥时,哈希只能证明内容变没变,无法证明是谁生成的;密钥让验签方只信任持有同一密钥的一端。
该选哪种算法?
默认选 HMAC-SHA256;若文档写明 SHA-512、SHA-1 或 MD5 再按规范选择。填写消息与密钥后,修改算法或编码时结果会自动更新。
输出用 Hex 还是 Base64?
以接口文档为准;本工具两种都支持,文档里 Hex 较常见,部分 Header 用 Base64。
密钥会上传吗?
不会,计算完全在浏览器本地完成。