文件哈希计算|用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签名),用户无论从哪个镜像下载,只需在本地计算哈希值并比对,就能验证安全性。

哈希函数具有"雪崩效应":即使输入只改变一个比特,输出也会截然不同。这使得无论是蓄意篡改还是下载过程中的细微损坏,都能被可靠地检测出来。即使两个文件大小相同,只要有一个字节不同,哈希值就会完全不同,因此比单纯核对文件大小可靠得多。