生成和核对文件校验数据的几种技巧是什么,生成和核对文件校验数据的几种技巧方法

  生成和核对文件校验数据的几种技巧是什么,生成和核对文件校验数据的几种技巧方法

  不知道大家有没有注意到,虽然迅雷等下载软件可以自动检查下载数据,但是有些软件下载页面(比如Windows安装包的下载页面)也会给出MD5、SHA1、CRC32等文件校验码数据除了软件的下载链接。那么,提供这样的额外验证数据有什么作用呢?作为普通用户,应该如何使用这些数据?

  文件验证往往是指用MD5、SHA1、CRC32等一种或多种校验码检查网站上的文件与下载的文件是否一致的过程。一般来说,校验码是由几个长度的字符串组成的,这些由字符串组成的校验码是经过验证程序后从文件的内容中计算出来的。所以,只要文件内容是固定的,校验码自然会是固定的字符串。同样,如果文件被修改过,或者在下载和传输过程中出现丢包或错误,那么下载或接收到的文件的校验码自然会发生变化。比如微软网站给出了Windows 10试用版ISO的校验码,某系统网站也提供了该版本微软的系统ISO的下载,但是我们担心这个网站是否提供微软ISO的原版。这时候我们可以用下载的ISO生成校验码,用微软提供的校验码进行校验。如果一致,说明下载的ISO属于原始版本。下面我们讲的是几种实用的生成和检查文件校验数据的方法。

  

1. 右键属性查看法

  如果经常需要验证文件,可以安装Windows系统的验证插件程序HashTab 4.0。安装后,属性验证的功能将集成到文件属性菜单窗口中。当右击一个文件,选择“属性”时,属性窗口中会增加一个HashTab标签,并显示验证该文件的进度条(图1);根据文件长度,等待不同时间后,算法和哈希值列表窗口会显示三个不同的校验值(图2)。

  虽然如图所示文件校验默认显示的算法只有三种,但实际上,这款软件包含的校验算法绝不仅限于这三种算法。右键单击哈希值列表,选择进入选项窗口,可以从十多种算法中选择更多的验证方法(图3)。

  

小提示:

  如果想在文件上线前给出校验值,可以用这个方法生成校验码,粘贴到网上。同样,下载完文件后,也可以通过这种方法得到校验码。对比网上给出的校验码,可以知道文件内容的一致性。

  

2. 拖动计算属性法

  如果不经常使用文件验证,就没有必要安装插件来负担文件的右键属性。只要用一个绿色的验证软件Hash_V1.04,把要验证的文件拖到软件窗口,MD5,SHA1,CRC32等的验证值。可以在以后自动生成(图4)。验证后,您可以通过按复制和保存按钮方便地保留验证值以备后用。

  此外,还使用了另一个类似的软件Hash验证工具V1.4.2,可以生成上述三个验证值,并且增加了更复杂的SHA256验证。有了这个软件,可以一次拖拽多个文件或文件夹到窗口进行验证;同时,它还可以搜索哈希值字符串。如果一次要检查的文件很多,这个功能可以快速找到一个文件对应的校验码或者一个校验码对应的文件(图5)。

  

小提示:

  哈希验证工具V1.4.2新增了“右键菜单”、“发送菜单”、“窗口顶部”等隐藏功能,可以实现更便捷的操作。只需在软件的标题栏上点击鼠标右键,从弹出的菜单中选择即可(图6)。

  

3. 使用PowerShell校验文件

  在Windows 10中,还可以通过PowerShell窗口命令检查文件。PowerShell的默认命令行“Get-file hash file path Format-List”可以给出文件的SHA256校验码。如果使用“Get-FileHash文件路径-算法验证内容格式-列表”命令,将“验证内容”替换为SHA1、MD5等形式,可以给出相应类型的校验码(图7)。注意,文件路径包含空格时要加半角引号,PowerShell文件验证不支持CRC32。

  

扩展阅读:如何应对“偷梁换柱”

  虽然上面的文件验证可以保证下载文件和在线文件的绝对一致。但由于他人很容易对原软件进行修改,并将修改后软件的校验码作为原软件的校验码,因此用户仍有可能上当。因此,迫切需要一种可以应对这种危机的验证方法。MAC(消息校验码)应运而生。MAC是文件的接收者和发送者都同意的字符串。当接收方收到文件时,原始文件和约定的MAC字符串用于计算文件的哈希值。这种计算是在接收方拿到文件后进行的,第三方无法中途拦截MAC,仅通过文件内容无法计算出正确的哈希值,从而保证了文件的真实性,杜绝了篡改。

生成和核对文件校验数据的几种技巧是什么,生成和核对文件校验数据的几种技巧方法