跳到主要内容
AZ Tools

文件哈希校验

下载安装包、磁盘镜像或固件时,发布方通常会在链接旁附上校验和——即所发布字节的指纹。本工具在本地重新计算这个指纹:浏览器用 Web Crypto API(crypto.subtle.digest)以 SHA-1、SHA-256、SHA-384 或 SHA-512 对拖入的文件做哈希,再与你粘贴的哈希比对,比对时忽略大小写和空白字符。文件绝不会离开你的设备——没有上传,也没有服务器参与。 绿色的匹配证明的是完整性而非真实性:它说明字节与发布方公布的完全一致,能排除下载中断、镜像损坏和被调包的文件,但无法证明公布校验和的页面本身没被篡改——那需要密码学签名来保证。请尽量使用 SHA-256 或更强的算法(保留 SHA-1 只是因为仍有项目在发布它)。哈希前会把整个文件读入内存,因此数 GB 的大文件需要等待片刻。

比对时忽略空白和大小写 — 可直接从 .sha256 文件粘贴。

使用方法

  1. 选择发布方公布的算法(SHA-256 最常见)。之后更换算法会清空已加载的文件,需要重新拖入以重新计算。
  2. 粘贴预期哈希——只粘贴十六进制哈希本身,不要粘贴 .sha256 文件中"哈希 文件名"整行。
  3. 拖入下载好的文件,或点击选择。哈希在本地计算,随后显示文件名、大小和计算出的哈希。
  4. 查看结果:绿色徽章表示两者一致,红色表示字节不同。若未填预期哈希,也会显示计算出的哈希,供你手动比对。

常见问题

为什么要校验下载的文件?
哈希不一致能揪出下载中断、镜像损坏,以及被入侵的镜像或代理调包的文件。但要注意:这验证的是完整性而非来源。如果攻击者连公布校验和的页面也控制了,两者都可以被替换;要验证来源还需要项目密钥做出的签名(GPG、Sigstore 等)。
文件会被上传到任何地方吗?
不会。浏览器读取文件后用 Web Crypto API 在本地计算哈希,不向任何服务器发送数据。为了计算哈希会把整个文件载入内存,所以数 GB 的文件较慢,在内存小的设备上可能吃力。
该选哪个算法?为什么没有 MD5?
永远选发布方公布的那个——SHA-256 的摘要不可能与 SHA-512 的一致。如今事实上的标准是 SHA-256。SHA-1 已存在现实的碰撞攻击,不应用于安全判断,但检测意外损坏仍然够用。没有 MD5 是因为浏览器的 Web Crypto API 有意不实现它。
可以把 .sha256 文件里的整行粘进来吗?
只粘贴十六进制摘要即可。比对时会忽略空格、换行和大小写,但 sha256sum 输出的"哈希 文件名"格式里的文件名属于多余字符,会导致比对失败。
哈希不匹配该怎么办?
先重新下载——传输中断是最常见的原因。再确认算法是否一致、校验和是否对应你下载的版本和架构。如果仍不匹配,不要运行该文件;改从官方渠道重新获取并向项目反馈。

相关工具