> hmac | 认证 | 签名 <
// 使用密钥生成HMAC消息认证码
[安全]
Web Crypto API
使用浏览器原生Web Crypto API安全生成HMAC。您的数据永远不会离开浏览器。
[多算法]
4种哈希算法
支持HMAC-SHA256、HMAC-SHA1、HMAC-SHA384和HMAC-SHA512。选择适合您需求的算法。
[免费]
本地处理
100%客户端处理。无服务器上传,无数据收集,完全免费。
// 关于HMAC
HMAC工作原理:
HMAC(基于哈希的消息认证码)在RFC 2104中定义。它将加密哈希函数与密钥结合来生成消息认证码。算法使用内部和外部填充(ipad/opad)与密钥配合。
示例:
HMAC-SHA256("Hello", "secret") → 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b
常见用途:
- >API请求认证和签名验证
- >Webhook负载验证
- >JSON Web Token(JWT)签名
- >消息完整性验证
- >安全会话令牌生成
>> 常见问题
问:HMAC是什么?
答:HMAC(基于哈希的消息认证码)是一种使用加密哈希函数与密钥结合来计算消息认证码的机制。
问:HMAC和普通哈希有什么区别?
答:普通哈希(如SHA-256)只提供数据完整性。HMAC添加了密钥,因此只有知道密钥的各方才能生成或验证代码。
问:HMAC如何用于API签名验证?
答:许多API(AWS、Stripe、GitHub)使用HMAC对请求进行签名。发送方使用共享密钥计算请求体的HMAC。
问:应该使用哪种HMAC算法?
答:HMAC-SHA256是通用用途最推荐的。HMAC-SHA1仍在旧系统中使用。HMAC-SHA384和HMAC-SHA512提供更高的安全性。
问:密钥应该多长?
答:密钥至少应与哈希输出一样长(例如HMAC-SHA256为32字节)。更短的密钥会降低安全性。