如何校验文件
为什么需要校验文件
众所周知,每个文件在本质上都是 0 和 1 的组合。在下载或复制文件时,因为各种原因,目标文件中的某些部分可能与原始文件不符,尤其是文件较大的时候。这样一来,目标文件的内容就会发生变化,严重的会使目标文件无法打开。此外,校验文件还可以检测文件是否受到篡改。
一些算法可以对文件生成一个对修改敏感的「摘要」,称为哈希值 (hash value) 或校验和 (checksum),名称取决于具体算法。换言之,一般情况下,任何修改都会引起「摘要」发生变化。相同的算法在任何时间和任何地点,对内容相同的文件生成的摘要都相同。
利用这些算法,在提供文件的同时提供某算法的摘要,在下载或复制后,用相同算法重新计算摘要并进行对比,摘要一致则文件一致,反之同理,就可完成对文件的校验。
常用的算法包括 SHA256、MD5、CRC32 等。这里,我们将介绍如何在计算机上,使用 SHA256 算法计算哈希值。群文档中的部分资源,也使用此算法提供对应资源的哈希值。
为了免于安装任何其他软件,我们将使用 Windows 系统自带的命令行进行计算。至少在 Windows 7 及以上的系统中,此功能已确认可用。
在 Windows 命令行上计算哈希值
- 左键点击你要校验的文件,按住 Shift 的同时右键再次点击该文件,在菜单中找到「复制为路径」,点击。
- Win+R,输入
cmd
,回车。 - 输入
certutil -hashfile
,再输入一个空格。 - 右键点击该窗口的任意位置。
- 输入一个空格,再输入
SHA256
。现在,你应该得到类似于certutil -hashfile C:/path/to/your/file SHA256
这样的东西,别忘了空格。如果你确认一切无误,就按回车吧。 - 等待计算机进行计算,时间通常和文件大小成正比。如果文件有几 GB 那么大,计算可能持续几分钟。
- 计算结果将显示在屏幕上。
通过更换第 5 步中输入的算法名称,此方法还可以使用以下算法计算:MD2、MD4、MD5、SHA1、SHA384、SHA512。