在线 HMAC 计算器
用密钥计算 HMAC 签名,支持 SHA-256 / SHA-1 / MD5
输入参数
签名结果
注意:HMAC 是带密钥的哈希,可防篡改;它不是加密算法,无法从结果反推原文。密钥请通过安全渠道交换,不要硬编码在前端代码里。
常见问题
- HMAC 和普通哈希有什么区别?
- 普通哈希(如直接算 SHA256)任何人都能算,无法证明来源。HMAC 加入了密钥,只有知道密钥的一方才算得出正确签名,因此能验证请求确实来自持有密钥的一方。
- 签名结果大写还是小写?
- 取决于对方接口要求,两种都有可能。微信支付通常用大写,很多云服务用小写。本工具一键切换,避免手改出错。
- 为什么签名对不上?
- 最常见三个原因:① 参数拼接顺序或分隔符与文档不一致;② 大小写没对上;③ 参数值做了 URL 编码/解码的差异。建议逐个排查,先用官方文档给的测试用例验证。
- 密钥会泄露吗?
- 不会。所有计算在浏览器本地完成,密钥不会发送到任何服务器。但请注意:生产环境的密钥不应放在前端代码里,签名的正确做法是在服务端完成。
使用说明
- 在「待签名内容」框填入要签名的数据,通常是按接口文档拼好的参数串。
- 在「密钥」框填入双方约定的 Secret Key(密钥不会上传,全程本地计算)。
- 选择算法:HMAC-SHA256 最常用,部分老接口用 HMAC-SHA1 或 HMAC-MD5。
- 点「计算签名」得到十六进制结果,点「切换大小写」可在大写/小写间转换(不同平台要求不同,这条最常踩坑)。
常见用途:对接微信/支付宝支付签名、验证 Webhook 请求真伪、调试第三方 API 的签名参数、校验数据是否被篡改。
免责声明
本工具的编解码与格式化处理全部在你的浏览器本地完成,输入内容不会被上传、存储或转发到任何服务器。但请注意:Base64 等编码方式并非加密手段,不可用于保护密码、密钥等敏感信息。工具结果仅供参考,在涉及生产环境、资金交易、法律文书等关键场景时,请务必用官方工具二次校验。本工具为免费公益项目,按「现状」提供,不对因使用本工具产生的任何直接或间接损失承担责任。