工具功能
本工具用于在线生成HMAC(基于哈希的消息认证码)签名,支持HMAC-SHA1、HMAC-SHA256、HMAC-SHA512、HMAC-MD5四种常用算法。你可以选择密钥输入格式和输出编码格式,满足不同场景的开发需求。
使用方法
- 在「密钥」输入框输入你的密钥,选择密钥的编码格式:UTF-8、Hex或Base64
- 在「消息」输入框输入需要计算签名的消息内容
- 选择使用的哈希算法和输出编码格式
- 点击「生成HMAC签名」按钮即可得到结果,结果会自动更新,支持实时预览
计算原理
HMAC的计算遵循RFC 2104标准,公式如下:
HMAC签名有什么用途?
HMAC常用于验证消息完整性和真实性,在API身份验证(如AWS签名、OAuth)、cookie签名、接口防篡改等场景广泛使用,能够防止消息被篡改。
为什么我得到的结果和其他工具不一样?
最常见的原因是密钥编码格式或输出编码格式不一致,请确认你的密钥是按UTF-8、Hex还是Base64解析,输出也需要确认是Hex还是Base64,必须双方参数一致才能得到相同结果。
计算会把我的密钥传到服务器吗?
不会,所有计算都在你的浏览器本地完成,使用Web Crypto API加密接口,密钥和消息不会上传到任何服务器,可以放心使用。
HMAC和单纯的哈希有什么区别?
普通哈希不需要密钥,仅能生成摘要,无法做身份验证;HMAC需要一个密钥,只有持有正确密钥的一方才能计算和验证签名,既可以验证完整性也可以验证身份,安全性更高。