Skip to content

文件哈希校验 ​

从官网下了一个几百 MB 的安装包,页面上给了一串 SHA256: a3f5...。这串东西是干什么的、要不要对,多数人直接跳过了。

「文件哈希校验」工具页初始界面:选择文件 / 参数配置 / 哈希算法 / MD5 / SHA-1 / SHA-256 / SHA-512 / 期望哈希值(可选) / 实时预览;页头标签「浏览器本地执行 · 免费」

打开「文件哈希校验」看到的初始界面。在浏览器本地完成、数据不离开浏览器,免费。

它解决什么问题 ​

哈希是文件内容的「指纹」——内容改动哪怕一个字节,指纹就完全不同。对一下指纹,能确认两件事:

文件下载完整。 网络中断、续传错位导致的损坏,会让哈希对不上。这是最常见的用途。

文件没被替换。 如果你从第三方站点下载,哈希值对得上说明内容和官方发布的一致。

三种算法怎么选 ​

算法长度用在哪
MD532 个十六进制字符只用于校验意外损坏;碰撞已被攻破
SHA140 个字符不要用于新场景,碰撞 2017 年已被攻破
SHA25664 个字符默认选它

一句话:新场景一律 SHA256;遇到只给 MD5 的下载页,算 MD5 对一下也比不校验强。

更完整的解释见:MD5 已经不安全了,为什么还到处在用

怎么对 ​

把官网给的哈希值粘进「期望哈希值」,工具会直接告诉你匹配与否,不用自己盯着 64 个字符逐位比。

十六进制大小写不敏感,A3F 和 a3f 是同一个值。有些工具输出大写、有些小写,肉眼比对时最容易在这里看岔。

对不上怎么办 ​

十有八九不是被篡改,按概率排查:

一、没下完。 最常见。看文件大小和页面标注的对不对得上,重下一次。

二、比错了对象。 有些发布页同时给出压缩包和解压后文件的哈希,或者多个平台的版本。确认你算的和页面标的是同一个文件。

三、文本文件的换行符被改写。 在 Windows 和 Linux 之间传递时,如果经过了会转换换行符的工具(某些 Git 配置、FTP 文本模式),内容变了哈希自然变。二进制文件不受影响。

浏览器本地计算 ​

文件不上传,在你的浏览器里读取并计算。这对校验工具是必要的:为了验证一个文件没被动过而先把它传到某个服务器,本身就矛盾。

大文件(GB 级)计算需要一点时间,属正常。

一个边界 ​

校验只能证明文件与发布者公布的一致。如果发布渠道本身被入侵、连哈希值一起被替换,校验也无能为力。

所以哈希值最好从与文件不同的来源获取——比如文件在 CDN、哈希在官方公告或代码仓库里。

相关工具 ​

最后更新:2026-09-05