HMAC 密钥:
输入文本
0 字符 / 0 B
哈希结果
32位
16位
哈希值验证
拖拽文件到此处,或点击选择文件
计算文件的哈希值,支持任意文件类型
MD5
SHA-1
SHA-256
SHA-512
哈希算法小知识
MD5 是什么?
MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可将任意长度的数据转换为 128 位(32 个十六进制字符)的哈希值。它常用于数据完整性校验,但已被发现存在碰撞漏洞,不建议用于安全敏感场景。
MD5 可以解密吗?
MD5 是单向散列算法,理论上不可逆。但短字符串的 MD5 可通过彩虹表碰撞查找,因此不建议用于密码存储等安全场景。如需安全存储密码,建议使用 bcrypt 或 Argon2。
MD5 的 32 位和 16 位有什么区别?
32 位 MD5 是完整的哈希值(如 d41d8cd98f00b204e9800998ecf8427e),16 位是取 32 位结果的第 9-24 位(如 9f00b204e9800998)。16 位 MD5 碰撞概率更高,安全性更低,仅适用于非安全场景。
SHA-1、SHA-256、SHA-512 有什么区别?
- SHA-1:160 位(40 字符),已被发现碰撞漏洞,不推荐用于安全场景
- SHA-256:256 位(64 字符),目前推荐的哈希算法,安全性高
- SHA-512:512 位(128 字符),安全性最高,计算速度略慢于 SHA-256
什么是 HMAC?
HMAC(Hash-based Message Authentication Code)是使用哈希函数和密钥进行消息认证的算法。它可以在验证数据完整性的同时,验证消息来源的真实性。常用于 API 签名验证、JWT Token 等。
如何验证文件完整性?
下载文件后,使用本工具计算文件的哈希值,与官方提供的哈希值进行比对。如果一致,说明文件未被篡改;如果不一致,说明文件可能在传输过程中被修改或损坏。
建议使用 SHA-256 或 SHA-512 进行文件校验,安全性高于 MD5。
本工具的哈希计算安全吗?
本工具所有计算均在浏览器本地完成,不会将您的数据上传到任何服务器,确保数据隐私安全。大文件采用分片增量计算,不会导致浏览器卡顿。
但请注意,MD5 和 SHA-1 已被证实存在碰撞漏洞,不建议用于安全敏感场景(如密码存储、数字签名)。对于安全场景,请使用 SHA-256 或 SHA-512。
常见用途
- 文件校验:下载文件后比对哈希值,确认文件未被篡改
- 数据签名:使用 HMAC 对消息签名,验证数据来源
- 密码存储:存储密码的哈希值而非明文(建议使用 bcrypt)
- 版本比对:通过哈希值快速判断数据是否发生变化
- 去重:利用哈希值判断文件或数据是否重复
快捷键
Ctrl + Enter:计算哈希值