哈希与HMAC计算
一次算出MD5、SHA-1、SHA-256/384/512、SHA-3、RIPEMD-160等九种摘要,并支持HMAC与摘要反查
待计算的文本
选择建议
- MD5 与 SHA-1 已被证实可构造碰撞,不能再用于签名、证书或防篡改校验;用于文件完整性自查(非对抗场景)仍可接受。
- 需要密码存储时不要用这里的任何算法,应使用 bcrypt、scrypt 或 Argon2 这类带盐和计算开销的专用算法。
- 验证消息来源与完整性用 HMAC,不要用"密钥拼接原文再哈希"的自制方案,后者存在长度扩展攻击风险。
- 比较摘要时服务端应使用恒定时间比较函数,避免通过响应时间泄露信息。
功能介绍
哈希与HMAC计算把常用摘要算法集中在一个页面:MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、RIPEMD-160,输入一次即可同时得到全部结果,输出可切换大小写十六进制或Base64。HMAC模式在同样的算法集合上追加密钥,密钥支持按UTF-8、Base64、Hex三种方式解读,用于对接需要签名的开放平台接口。此外提供"摘要反查":粘贴一个期望的摘要值,工具会告诉你当前输入用哪种算法能算出它,排查签名算法不一致的问题很有用。页面同时说明了几条安全边界:MD5与SHA-1已被证明可构造碰撞,不能用于防篡改与数字签名场景;用户口令必须使用bcrypt、scrypt或Argon2这类带盐与工作因子的算法而不是任何普通哈希;比对摘要时应使用恒定时间比较以避免时序侧信道。
使用说明
1. 在"哈希"模式下输入文本,下方即时列出九种算法的摘要;2. 需要HMAC时切换到"HMAC"模式,填写密钥并选择密钥编码(对接第三方接口时注意对方要求的是UTF-8还是Hex/Base64密钥);3. 用开关切换十六进制大小写或改为Base64输出;4. 每行摘要都可单独复制;5. 在"摘要反查"输入框粘贴对方给出的期望值,命中的算法会被高亮,用来确认签名算法;6. 注意换行符会影响结果,对接时请确认待签字符串的末尾是否含换行;7. 存储密码请使用bcrypt/Argon2,不要用本工具的任何算法。