| 标准 | RFC 2104 / FIPS 198-1 |
|---|---|
| 推荐哈希 | SHA-256 及以上 |
| 密钥长度 | 建议不小于哈希输出长度(如 32 字节) |
| 用途 | API 签名、TLS 1.2 PRF、JWT HS256、Webhook 校验 |
计算与校验
计算与校验
openssl dgst -sha256 -hmac 'my-secret' message.txt
# Python
import hmac, hashlib
hmac.new(b'my-secret', b'message', hashlib.sha256).hexdigest()校验 HMAC 时使用常量时间比较(如 hmac.compare_digest),逐字节比较会泄漏时序信息。