怕下载软件夹带木马?快来校验文件吧!

樱子2017-10-16 15:32应用 标签:校验文件

在一些软件的下载页面,如微软MSDN订阅网站给出的Windows 10下载链接页面,我们常常会看到诸如SHA1、MD5、CRC32等代码(图1),这些代码是用来校验文件下载前后的一致性所用的文件校验码。通过这个校验文件的手段,就能辨别软件是不是被夹带了“私货”,防止软件被植入恶意软件甚至是获利的捆绑安装工具。 

1710A-WJJY-1

文件校验常常是指用诸如MD5、SHA1、CRC32值等在内的一种或多种校验码,检验网站上的文件和下载之后的文件的一致性的过程。校验码一般由若干长度的字符串组成,这些由字符串组成的校验码是经过验证程序,从文件内容计算出来的。因此,只要文件内容固定,校验码也就自然会是一个固定的串。同理,若文件被修改过,或下载、传送过程中产生了丢包或错误,那么下载或接收到的文件的校验码自然也会发生变化。例如:微软网站给出Windows 10 试用版ISO的校验码,而某系统网站也提供微软该版本的系统ISO下载,但我们担心此网站提供的是否为微软原版ISO,这时就可以用下载到的ISO生成校验码,与微软提供的校验码进行核对,若一致就说明下载到的ISO属于原版了。下面我们讲述的就是生成和核对文件校验数据的几种实用方法。

1. 右键属性查看法

如果经常要对文件进行校验,可给Windows系统安装校验插件程序HashTab 4.0。安装之后,属性校验的功能将被集成到文件属性菜单窗口中,当右键单击一个文件并选择“属性”后,属性窗口中会增加一个HashTab选项卡,并显示正在校验此文件的进度条(图2);根据文件长度,经过不同时间的等待后,在算法和哈希值列表窗口中,会显示出3种不同的校验值(图3)。

1710A-WJJY-2

1710A-WJJY-3

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

1710A-WJJY-4

小提示:

文件上网前若要给出校验值,可用此法生成校验码并粘贴于网上。同理,下载了文件后也可用此法获得校验码,与网上给出的校验码对比,可知文件内容的一致性。

2. 拖动计算属性法

如果不经常使用文件校验,就没必要装插件给文件右键属性增加负担。只需改用一款绿色校验软件Hash_V1.04,将要校验的文件拖动到该软件窗口,稍候即可自动生成文件的MD5、SHA1、CRC32等校验值(图5)。校验之后,可通过“复制”和“保存”按钮,方便地将校验值留存备用。

1710A-WJJY-5

此外还用另一款类似软件Hash校验工具V1.4.2版,除可生成上述三种检验值外,另增一种更复杂的SHA256校验。用此软件可以将多个文件或文件夹一次拖放到窗口内进行校验;同时还能进行哈希值字符串查找,如果一次校验的文件较多,可通过此功能快速找到某文件对应的校验码或某校验码对应的文件(图6)。

1710A-WJJY-6

小提示:

Hash校验工具V1.4.2版中暗藏有添加“右键菜单”、“发送菜单”、“窗口置顶”等功能,可实现更方便的操作。只需在软件标题栏上点击鼠标右键,在弹出的菜单中进行选择即可(图7)。

1710A-WJJY-7

3. 使用PowerShell校验文件

在Windows 10中,还可以通过PowerShell窗口命令进行文件校验。PowerShell默认的命令行“Get-FileHash 文件路径| Format-List”可给出文件的SHA256校验码。如果使用“Get-FileHash 文件路径 -Algorithm 验证内容| Format-List”命令,将“验证内容”替换为SHA1、MD5等多种形式,则可以给出相应类型的校验码(图8)。注意文件路径中含有空格时需要加上半角引号,另外PowerShell文件校验不支持CRC32。

1710A-WJJY-8