文件完整性校验通常用于网络接收的文件。如何判断接收到的文件是否在传输过程中被修改,就可以通过检查文件校验值来确定。
基本方式是:在文件传输前计算得到要传输文件的校验值,然后等对方接收到后,看接收到的文件的校验值是否与传输前的一致,如果不一致,则说明文件被修改过。
校验值一般有MD5、SHA1、CRC32等类型,通常我们可以下载专门的工具进行计算。以下推荐三种方式仅供参考:
1. Windows自带certutil工具
certutil.exe是 Windows 7 及其以上版本自带的证书服务工具,我们可以执行以下命令,查看文件校验命令的帮助:
> certutil -hashfile -?
该命令支持的哈希算法有MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512。获取文件 D:\test.exe 的SHA1校验值可执行:
> certutil -hashfile D:\test.exe SHA1
2. Powershell命令行
> Get-FileHash D:\test.exe -Algorithm md5| Format-List
powershell中执行此命令也可以获得目标文件校验值,支持的哈希算法有SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160。
3. HashCheck右键集成插件
HashCheck是一款第三方开源文件校验集成插件,安装文件很小,只有84.5KB,安装完成后直接右键文件“属性”或者右键菜单“创建校验信息文件”即可查看。
HashCheck官网:http://code.kliu.org/hashcheck/
安装文件及源码:https://pan.baidu.com/s/1BAfeBHBrRz8SzICwmEOvGw (提取码:8738)