HMAC 生成器
支持 HMAC-SHA1 / SHA256 / SHA384 / SHA512。
#️⃣ HMAC Generator
Generate HMAC signatures (HMAC-SHA256 and more) with a secret key in your browser — verify message integrity.
📐 工作原理与说明
生成基于密钥的消息认证码(HMAC)。
- 公式:
HMAC(K,m) = H((K⊕opad) ∥ H((K⊕ipad) ∥ m)),定义于 RFC 2104。 - 与哈希区别:HMAC 需要密钥,可同时验证完整性与消息来源;普通哈希任何人都能算出。
- 输出:长度等于底层哈希的摘要长度,如 HMAC-SHA256 为 256 bit。
- 用途:API 签名、Webhook 校验、JWT 的 HS256 算法。
📖 算法说明
HMAC (Hash-based Message Authentication Code) 用于验证消息完整性和真实性。
公式:HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
📚 深度解析:HMAC 生成器
💡 常见使用场景
- 用密钥对消息生成认证码,验证完整性与来源。
- 对接第三方 Webhook:用对方给的密钥对原始报文体计算 HMAC,与请求头里的签名比对,确认报文来源与完整性。
HMAC-SHA256
key="secret", msg="hello" → HMAC-SHA256 = 88da81...(任何改动都会使 MAC 失配)。
❓ 常见问题(FAQ)
- HMAC 需要保密密钥吗?
- 是,密钥必须保密,否则可伪造 MAC。
- 为什么签名对不上?
- 三个高频原因:一是参与签名的不是原始报文体而是解析后的对象(空格与键序已变),必须用收到的原始字节;二是密钥带了多余空白或换行;三是编码不一致(十六进制 vs Base64)。时间戳与 nonce 是否参与拼接也要与文档逐字对齐。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
HMAC 生成器。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。