HMAC
HMAC 生成器
在本地生成并校验 HMAC-SHA-256/512 签名。
输入
使用 Web Crypto API 在本地计算 HMAC。
所有计算均在浏览器本地完成。
输出
查看生成签名与校验状态。
生成签名后将在此显示结果。
安全提示:工具不保存密钥,但请避免在截图或剪贴板历史中暴露密钥。
What
HMAC 生成器 定义
HMAC 将密钥与哈希函数结合,用于验证消息完整性与身份认证。
Cases
常见使用场景
1
复现 Webhook 签名
2
调试 API 请求签名
3
比对期望签名
How To
如何生成 HMAC 签名
配置消息与密钥后计算签名。
1
输入消息与密钥
输入待签名消息与密钥。
2
选择参数
选择算法以及密钥/输出编码。
3
生成并校验
生成签名,并可与预期签名进行比对。
Knowledge
理解 HMAC
用途
HMAC 可同时证明消息未被篡改且发送方持有共享密钥。
构造方式
使用密钥哈希构造对消息进行签名,常见为 SHA-256/512。
校验方式
使用固定时间比较可降低 timing 侧信道泄露风险。
编码陷阱
同一字节序列在不同文本编码下外观不同,易导致比对失败。
运维加固
建议结合密钥轮换、短时效与防重放机制提高安全性。
FAQ
HMAC 生成器 FAQ
HMAC 和普通哈希有什么区别?
HMAC 使用密钥,没有密钥就无法重算有效签名。
该选哪个算法?
通常 SHA-256 足够;若策略要求更长摘要可用 SHA-512。
何时切换输出编码?
按接入方要求选择 hex、base64 或 base64url。
校验如何实现?
先检查长度,再以固定时间比较生成值与期望值字节。
密钥可以用 base64 输入吗?
可以。选择 Base64 密钥编码后会先解码再签名。
输入会上传吗?
不会。全部在浏览器内完成。
为什么预期签名会显示无效?
预期值的格式必须与所选输出编码一致。
可用于验证测试向量吗?
可以,适合校验 RFC 等已知测试向量。