HMAC 生成器
使用 SHA-256、SHA-384 或 SHA-512 生成 HMAC 签名,支持 Hex 和 Base64 输出。完全在浏览器中运行,数据不上传服务器。
使用方法
- 输入需要认证的消息。
- 输入你的密钥。
- 选择算法(SHA-256、SHA-384 或 SHA-512)。
- 选择输出格式(Hex 或 Base64)。
- 点击 Generate HMAC 并复制结果。
常见使用场景
- Webhook 验证:验证 Webhook 载荷是否由可信发送方签名。
- API 请求签名:对 API 请求签名,证明其真实性,同时无需传输密钥本身。
- 数据完整性:为消息附加 HMAC,接收方可验证消息未被篡改。
- 会话令牌:生成防篡改的会话标识符。
FAQ
什么是 HMAC?
HMAC(基于哈希的消息认证码)是一种将密码哈希函数与密钥相结合的消息认证码。它用于同时验证消息的数据完整性和来源真实性。
我的数据会发送到服务器吗?
不会。本工具使用浏览器内置的 Web Crypto API(SubtleCrypto)执行所有加密操作。你的消息和密钥不会离开浏览器。
应该选择哪种算法?
SHA-256 是最广泛使用的算法,适合大多数场景。SHA-384 和 SHA-512 提供更大的安全余量但输出更长。三者用于 HMAC 时均被认为是安全的。
Hex 和 Base64 输出有什么区别?
两者都是对同一 HMAC 二进制值的不同文本编码。Hex 使用十六进制字符(0-9, a-f),较长;Base64 更紧凑,常用于 HTTP 头部(如 Authorization)和 JSON。
可以用它验证 Webhook 签名吗?
可以。许多服务(GitHub、Stripe、Slack 等)使用 HMAC-SHA256 对 Webhook 载荷签名。将原始载荷作为消息输入,将服务的 Webhook 密钥作为密钥,然后将结果与签名头部对比即可。