文件哈希计算|用MD5・SHA-1・SHA-256・SHA-512验证下载文件是否被篡改
拖放文件即可一次性计算MD5・SHA-1・SHA-256・SHA-512哈希值。与发布方公开的校验值比对,确认下载的文件未损坏或被篡改。文件不会上传到服务器。
哈希算法对照表
| 算法 | 输出位数 | 十六进制字符数 | 主要用途 |
|---|---|---|---|
| MD5 | 128位 | 32个字符 | 仅适合轻量级完整性检查。密码学安全性已被攻破,不可用于密码存储或数字签名 |
| SHA1 | 160位 | 40个字符 | 比MD5更安全,但碰撞攻击已被证实。仍用于Git提交哈希等非安全场景 |
| SHA256 | 256位 | 64个字符 | 目前仍被认为安全,是验证软件下载完整性最常用的标准算法 |
| SHA512 | 512位 | 128个字符 | 输出比SHA-256更长,在64位CPU上有时计算速度更快 |
文件哈希验证小贴士
- 如果发布方没有说明使用了哪种算法,只需将哈希值粘贴到比对栏,即可自动判断匹配的算法。
- 较大的文件(数百MB以上)会占用较多浏览器内存,计算可能需要几秒到一分钟,请保持标签页打开。
- ISO镜像、安装程序等一旦被篡改危害较大的文件,建议养成核对哈希值的习惯。
- MD5・SHA-1已被证实存在碰撞攻击,不适合用于检测恶意篡改。对安全性要求高的场景请使用SHA-256及以上算法。
常见问题
请先重新核对官方哈希值,确认没有复制错误(如混入换行符或多余空格)。如果仍不一致,文件可能已损坏或被篡改,强烈建议不要运行该文件并删除,然后从官方网站重新下载。
以发布方公开的算法为准。如果公开了多种算法,建议优先选择更安全的SHA-256或SHA-512。MD5・SHA-1的密码学安全性已被攻破,不足以检测恶意篡改。
两者的算法完全相同,区别仅在于计算对象是文本字符串还是二进制文件。如需计算文本字符串的哈希值,请使用姊妹工具文本哈希一键计算。
只要浏览器有足够的可用内存即可计算,但由于会将整个文件一次性读入内存,数GB规模的超大文件可能导致浏览器变慢甚至失败。
闲话 ― 为什么官方网站要公开哈希值
您可能在软件网站的下载链接旁见过类似"SHA256: a1b2c3..."的哈希值。这是为了让用户能够自行验证:这个文件确实是发布者创建的原始文件,在传输过程中未损坏,也未在镜像服务器上被篡改。
这一点在Linux发行版的ISO镜像分发中尤为重要,因为用户通常通过分布在世界各地的镜像服务器下载。除了普通的传输错误外,理论上还存在恶意攻击者入侵镜像服务器、分发含有恶意软件的篡改版本的风险。如果官方网站公开了经过签名的哈希值列表(通常附有GPG签名),用户无论从哪个镜像下载,只需在本地计算哈希值并比对,就能验证安全性。
哈希函数具有"雪崩效应":即使输入只改变一个比特,输出也会截然不同。这使得无论是蓄意篡改还是下载过程中的细微损坏,都能被可靠地检测出来。即使两个文件大小相同,只要有一个字节不同,哈希值就会完全不同,因此比单纯核对文件大小可靠得多。