如何校验文件
为什么需要校验文件
众所周知,每个文件在本质上都是 0 和 1 的组合。在下载或复制文件时,因为各种原因,目标文件中的某些部分可能与原始文件不符,尤其是文件较大的时候。这样一来,目标文件的内容就会发生变化,严重的会使目标文件无法打开。此外,校验文件还可以检测文件是否受到篡改。
一些算法可以对文件生成一个对修改敏感的「摘要」,称为哈希值 (hash value) 或校验和 (checksum),名称取决于具体算法。换言之,一般情况下,任何修改都会引起「摘要」发生很大变化。相同的算法在任何时间和任何地点,对内容相同的文件生成的摘要都相同。
利用这些算法,在提供文件的同时提供某算法的摘要,在下载或复制后,用相同算法重新计算摘要并进行对比,摘要一致则文件一致,反之同理,就可完成对文件的校验。通常来说,因为一旦修改就会产生较大变化,因此只需要对比「摘要」的前几位或者后几位数字即可粗略完成校验。
常用的算法包括 SHA256、MD5、CRC32 等。这里,我们将介绍如何使用 SHA256 算法计算哈希值。群文档中的部分资源,也使用此算法提供对应资源的哈希值。
在 Windows 上计算哈希值
Windows CMD
为了免于安装任何其他软件,我们将使用 Windows 系统自带的命令行进行计算。至少在 Windows 7 及以上的系统中,此功能已确认可用。
- 左键单击你要校验的文件,按住 Shift 的同时右键再次单击该文件,鼠标选择「复制为路径」。
- Win+R,输入
cmd
,回车。 - 输入
certutil -hashfile
,再输入一个空格。 - 右键点击该窗口的任意位置。
- 输入一个空格,再输入
SHA256
。现在,你应该得到类似于certutil -hashfile C:/path/to/your/file SHA256
这样的东西,别忘了空格。如果你确认一切无误,就按回车吧。 - 等待计算机进行计算,时间通常和文件大小成正比。如果文件有几 GB 那么大,计算可能持续几分钟。
- 计算结果将显示在屏幕上。
通过更换第 5 步中输入的算法名称,此方法还可以使用以下算法计算:MD2、MD4、MD5、SHA1、SHA384、SHA512。
7-zip
如果你不喜欢敲命令,也可以在安装 7-zip 后使用它自带的功能 (被称为 CRC 或 CRC SHA) 进行计算。
- 在英文版官网或中文版官网下载 7-zip,并安装。
- 左键单击你要校验的文件,右键再次单击该文件,鼠标选择「7-zip」,再选择「CRC SHA」,再选择算法 (选择「*」以通过所有算法计算)。
- 等待计算机进行计算,时间通常和文件大小成正比。如果文件有几 GB 那么大,计算可能持续几分钟。
- 计算结果将显示在屏幕上。
在 Android 上计算哈希值
- 下载 MT 管理器。别指望你手机弱小又可怜的自带应用了,这并不一定是句玩笑话。
进入网页后点击「立即下载」,然后选择「本地下载(正式版)」,等待安装包下载完成后安装,忽略各种各样的风险警告。安装完成后,打开 MT 管理器,授予存储权限。 - 导航到你需要校验的文件处。
- 长按该文件,选择「属性」,再选择「校验」。选择算法后点击「确定」,或直接点击「确定」。
- 等待手机进行计算,时间通常和文件大小成正比。如果文件有几 GB 那么大,计算可能持续几分钟。
- 计算结果将显示在屏幕上。你还可以将已有的哈希值直接粘贴进去,快速检验哈希值是否相同。