郭建伟
当我们发布文件时,为了防止文件内容被随意修改,往往使用一定的校验算法,计算出文件的校验代码,随同该文件同时发布。这样使用者得到该文件后,通过简单的校验和比较操作,即可得知该文件是否是“原装”,如果校验值不一致的话,就说明文件被人修改过了(例如捆绑了木马等)。实际上,在很多正规的下载网站中,都会针对不同的下载资源提供诸如SHAl、MD5、CRC32等校验码,用户可以据此对下载到的文件进行检测,如果原校验码和计算出的校验码不符,说明数据发生了不可知的变动,用户就要小心应对了。
一、文件校验的原理
所谓校验码,通常由一定长度的字符串组成,这些字符串是经过特定的验证程序,针对目标数据计算产生的。这样,只要文件内容不发生变化,校验码也不会发生变动。与之相反,如果目标数据被修改过,哪怕是非常细微的变动,其对应的校验码必然发生变化。例如,当我们安装Windows系统时,如果针对下载的系统镜像文件进行测算,其校验码和微软提供的校验码数值不符,就说明其不是微软原版安装文件。
二、快速进行文件校验
对文件进行校验的方法有很多,最快捷易用的莫过于HashTab了,其可以让用户利用右键菜单,快速计算目标文件的校验码。该软件由一些动态库组成,将其解压后,执行安装操作,其会自动完成相关组件的注册操作。当其安装完毕后,在目标文件的右键菜单中点击“属性”项,在打开窗口的“hashTab”面板(如图1)中即会显示该文件的校验信息,HashTab支持CRC32、MD5以及SHA-1等算法,会分别显示与之对应的校验值,用户查看起来很方便。
此外,HashTah还支持文件比较功能,先在列表中选择合适的算法,之后点击“选择比较文件”按钮,选择其他的文件,HashTab会将两者的校验码进行计算和比较,如果不相符,则会显示红色的叉子图标,说明两者存在差异。如果您认为HashTab只支持以上三种校验算法,那就有些低估其能力了。点击“选项”链接,在选项窗口(如图2)中的“选择需要的算法”列表中提供了十几种校验算法,其默认只选择了以上三种算法,用户可以根据需要选择所需的其他算法,或者点击“选择全部”按钮,选择所有的校验算法。
三、轻轻一拖,轻松校验文件
在Windows中,利用鼠標拖动,可以灵活的执行文件复制操作。同样的,使用Hash文件校验工具这款小软件,可以让您通过简单的拖动操作,就可以快速的计算文件的校验值。打开其主界面(如图3),将需要计算的文件拖动到其中,该工具就会快速对其进行计算,显示诸如版本、日期,以及MD5、SHA1、CRC32deng校验值。您不仅可以拖动单个文件,还可以拖动多个文件进行快速计算,使用起来很灵活。Hash校验工具这款小T具也提供类似的计算功能,两者界面和使用方法基本一致,所不同的是,后者可以支持SHA256校验算法(如图4),比较适合一些特殊的计算场合。
四、最强悍的校验工具
同其他的校验软件相比,EasyHash这款绿色的免费软件的功能更为强大,可以让您轻松拥有几乎所有校验算法,它支持AP Hash、BP Hash、CK SUMMPEG-2,FNV 0 8-1024,GHash5,GOST,Haval128(3-5)、JHash、MD-5、Murmur、Pearson Hash、RIPEMD128等130多种校验算法,可以让您更加灵活的执行文件校验操作。下载地址:http://ziin.pl/downioad/easy—hash_23.exe。
在Easy Hash主窗口(如图5)中点击菜单“File→Open files”项,选择所需的文件(可多选),之后在主窗口列出导入的文件信息,在工具栏最右侧的列表中显示其内置的所有算法,选择合适的校验算法,之后点击工具栏上第五个按钮(或者点击F9键),Easy Hash即可使用预设算法,计算所有文件的校验值,在“Hash”列中显示具体的校验值。Easy Hash校验的速度很快,即使对于体积为4GB的大文件来说,也可以迅速完成校验操作。点击“Ctrl+S”键,可以保存校验信息。点击工具栏上的第七个按钮,在设置窗口中的“Favourite algorithms”栏中显示所有的校验算法,从中可以勾选最初常用的算法,或者点击“Mostpoplar”按钮,来自动选择最流行的校验算法。
在“File association”栏中点击“Register”按钮,可以让校验文件(例如后缀为“.eh、.md5、.shal”等)和EasyHash建立关联,这样直接点击上述文件类型,即可自动打开EasyHash显示对应的校验信息。对于选定的常用校验算法,在Easy Hash主窗口的校验算法列表中可以加粗显示,这样便于您迅速找到所需的算法。Easy Hash不仅可以校验文件,还可以校验文本信息。点击“Ctrl+T”键,在弹出窗口的“Input text”栏中输入文本信息,在校验列表中选择合适的算法,点击“Calculate”按钮,在“Output text”栏中即可显示校验值,点击“Copy to clipboard”按钮,可以将其复制到剪切板上。
五、赤手空拳,实现文件校验
实际上,除了使用第三方的校验工具外,Windows其实已经内置了校验丁具。例如在Windows10中,可以在PowerShell环境中使用专用的命令进行数据校验操作。点击开始菜单中的“附件”菜单,打开“Windows Power Shell”项,在PowerShell窗口命令执行校验命令,其格式为“Get-FileHash文件路径丨Format-List”,来计算目标文件的SHA256校验码。例如执行“Get-FileHash”c:\folder\file.wim”I Format-List”命令,可以显示指定文件的SHA256校验值。使用“GetFiieHash文件路径-Algorithm验证内容I Format-List”命令格式,将“验证内容”替换为“SHA1”“MD5”等多种参数,可以算出对应类型的校验码。例如执行“GetFileHashf”c:\folder\file.ison-Algorithm md5l Format-List”命令,可以显示指定文件的MD5校验值。注意,使用上述PowerShell命令不能进行CRC32算法校验。endprint