数据安全提示: 所有计算均在您的浏览器本地完成,密钥和消息不会上传到服务器。
HMAC哈希计算器
基于CryptoJS
输入类型:
输出格式:
当前操作:文本HMAC-SHA256
哈希算法
SHA256
SHA512
SHA384
SHA1
MD5
SHA3
安全性: 高
速度: 中等
密钥
字符数: 19
字节数: 19
弱
强
建议使用至少16字符的强密钥
消息
字符数: 43
字节数: 43
消息文件
拖拽或点击选择文件
支持任何文件,最大 100MB
HMAC哈希可视化
256位哈希值,32字节,64十六进制字符
SHA256算法
HMAC结果
计算结果将显示在这里...
等待输入...
长度: 0
HMAC算法原理
HMAC = H((K ⊕ opad) || H((K ⊕ ipad) || m))
1. 密钥处理
如果密钥长度大于块大小,先哈希;否则补0到块大小。
2. 内部填充
密钥 ⊕ ipad (0x36重复) + 消息 → 哈希
3. 外部填充
密钥 ⊕ opad (0x5C重复) + 内部哈希 → 最终HMAC
4. 安全特性
抗碰撞、抗长度扩展、需要密钥防止伪造
应用场景
API身份验证
客户端使用共享密钥计算请求的HMAC,服务器验证。
消息完整性验证
防止传输过程中消息被篡改。
安全Cookie
对Cookie内容签名,防止客户端篡改。
交易签名
金融交易、区块链中验证交易合法性。
安全最佳实践
- 密钥长度 ≥ 16字节,推荐32字节随机生成
- 定期轮换 密钥(如每3-6个月)
- 不同环境 使用不同密钥(开发/测试/生产)
- 安全比较 使用 timingSafeEqual 防止时序攻击
- 算法选择 推荐 HMAC-SHA256,避免 MD5/SHA1