使用方法
- 选择一个或多个文件,或将它们拖放到页面上。
- 勾选需要的 “算法”,然后点击 “计算校验码”。
- 将下载页面上的校验码粘贴到 “预期校验码(可选)”,查看是否相符。
- 复制您需要的校验码:32位十六进制数字是 MD5,64位是 SHA-256。
校验码说明什么
校验码是根据文件中每一个字节计算出的一段短代码。相同的字节总会得出相同的代码,而文件哪怕只改动一个比特,代码也会不同。把您的副本的代码与发布者提供的代码比较,就能证明您的副本与原文件相同,这正是下载后计算校验码的常见原因。
使用哪种算法
MD5(RFC 1321)和 SHA-1 已知存在碰撞:有人可以故意制造两个不同的文件,而它们的校验码相同。它们仍可用来发现意外损坏,例如下载中断造成的文件错误。SHA-256 和 SHA-512 属于 FIPS 180-4规定的 SHA-2 系列,是在有人可能故意修改文件时的常用选择。SHA-384 是截短的 SHA-512。CRC-32 是循环冗余校验(RFC 1952 第8节),只能发现意外损坏。
大文件的处理方式
不超过64 MB 的文件会一次读入,其 SHA 校验码由浏览器自带的 SubtleCrypto 计算。较大的文件(最大2 GB)则分成4 MB 的块读取,由本页的代码计算校验码。每一块只读取一次,并同时供您勾选的所有算法使用。文件不会上传,进度条会显示工作完成了多少。
示例:文本 abc
内容为三个字母 abc 的文件,其 MD5 校验码由 RFC 1321 发布,SHA-256 校验码由 FIPS 180-4发布。下表列出页面为该文件给出的两个值。
将 SHA-256 值粘贴为预期校验码,页面会显示该文件与 SHA-256 相符。换成另一个文件,则会显示不相符。
| 文件内容 | 算法 | 校验码 |
|---|---|---|
| abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
常见问题
为什么我的校验码与网站上的不同?
文件可能是另一个版本,也可能是下载提前中断,或者网站发布的是另一个文件的校验码。请重新下载文件,并对照页面核对文件名和版本。
应该使用哪种校验码?
SHA-256 是一个很好的默认选择。粘贴下载页面上的校验码时,页面会根据它的长度判断应比较哪种算法,因此您无需自己选择。
用 MD5 检查下载安全吗?
只能用来发现意外损坏。MD5 已知存在碰撞,想替换文件的人可以制造另一个 MD5 相同的文件。文件可能被故意修改时,请使用 SHA-256 或 SHA-512。
校验码相同能证明文件安全吗?
它只能证明您的文件与生成校验码的那个文件字节完全相同,并不能证明文件是由谁制作的。如果校验码来自不可信的页面,它就无法说明文件是否安全。
我的文件会被上传到什么地方吗?
不会。文件在您的浏览器中读取,不会发送到我们的服务器,服务器上也不会保存任何内容。
为什么大文件需要很长时间?
页面会分块读取文件,并用 JavaScript 计算您勾选的每一种算法。在较旧的电脑上,2 GB 的文件可能需要一分钟或更长时间,因此请取消勾选不需要的算法。
资料来源
- RFC 1321:MD5 消息摘要算法(英文)
- NIST FIPS 180-4:安全散列标准,含 SHA-1 与 SHA-2 系列(英文)
- RFC 1952:GZIP 文件格式第8节,CRC-32(英文)
- 参数化 CRC 算法目录,CRC-32/ISO-HDLC 检验值(英文)
数据和文字最近核对于2026年11月10日星期二。