什么是 HMAC (基于哈希的消息认证码)?
HMAC 是一种结合了 **秘密密钥(Secret Key)** 与哈希算法(如 SHA256)的认证机制。与普通哈希不同,HMAC 能够同时验证消息的 **完整性**(未被篡改)和 **真实性**(确实由密钥持有者发送)。它是目前 Web 安全、支付接口以及云服务 API 签名的行业通用标准。
常用使用场景
- API 身份鉴权: 开放平台通过 HMAC 校验请求参数,防止数据在传输过程中被第三方恶意劫持或篡改。
- Webhook 安全增强: 接收服务端回调通知时,通过比对 HMAC 签名确保通知源自官方且内容完整。
隐私保护声明
密钥(Key)是身份验证的核心。本工具基于本地加密算法实现,所有的 HMAC 计算过程均完全在您的浏览器本地沙盒内执行。我们不设后端存储,不记录任何密钥或消息日志,确保您的商业凭证在物理级安全边界内保持绝对私密。
常见问题解答 (FAQ)
Q: HMAC-SHA256 是目前最推荐的吗?
A: 是的。它在计算开销与抗碰撞强度之间取得了完美平衡,是 AWS、阿里云等主流平台默认的签名标准。
Q: 密钥长度对安全性有影响吗?
A: 有。建议密钥长度至少与哈希输出长度一致(如 SHA256 建议使用 32 字节/256 位以上的随机字符串)。
Q: 为什么我的签名结果与服务端不一致?
A: 请检查待签名字符串的排序(通常需按 Key 字典序排列)以及字符编码(通常为 UTF-8)。