我之前在Windows上一直是使用hash软件来计算文件的hash值。自从自学powershell后,我就放弃了用这个软件了。

关于校验值

校验值是一组16进制数,不区分大小写,校验值本身只与文件内容有关,只要文件内容不改变校验值就不变;如复制/剪切/粘贴,修改文件创建时间/访问时间,修改文件读/写/执行属性等操作都不会导致校验值发生改变。

当掌握快速计算校验值方法后,以后发送文件时就可以附带上该文件的校验值以防止文件中途损坏或被他人无意间修改。

windows

Windows的powershell真乃神器。
可以使用自带的certutil命令来计算一个文件的校验值。
certutil-hashfile.png

certutil支持的算法有:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512。

certutil的使用方法非常简单,只需要执行“certutil -hashfile 文件名 校验值类型”,即可计算出对应文件的校验值。例如:计算C:\Users\xiaoh\Downloads\武汉加油.mp4这个文件的MD5,可以执行命令:

certutil -hashfile "C:\Users\xiaoh\Downloads\武汉加油.mp4" MD5

执行结果如下,即该文件的MD5值是eb58ed326e9ecda5547840d549402e47
certutil-md5.png

powershell命令内的文件路径最好加上双引号(“”),因为部分文件夹名称里面有空格,如果不加双引号的话会从有空格的地方断开

当然你如果懒得记命令的话,hash工具:HashTools也是非常好用的。

linux

无论是centos系还是debian系都自带了hash工具,可以直接使用md5sum/sha1sum/sha256sum等命令直接计算文件的对应校验值。

md5sum  Hello.txt 
sha1sum  Hello.txt 
sha256sum  Hello.txt 

linux-hash.png


参考:
快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)

最后修改:2020 年 02 月 23 日 11 : 38 PM