转载自:https://blog.csdn.net/dongdong2980/article/details/90080901
从网络上下载文件,尤其是非常大的文件怎么确保文件准确无误呢?
通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等,
当文件下载完成后,计算它的校验值,如果和网站提供的一致,就可以放心使用了。
Windows 使用命令行计算校验值
在命令行下,可以使用Windows自带的certutil命令来计算一个文件的校验值:
certutil支持的算法有:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512。
certutil的使用方法非常简单,只需要执行“certutil -hashfile 文件名 校验值类型”,即可计算出对应文件的校验值。例如:计算D:\works\hello.txt这个文件的MD5,可以执行命令:
certutil -hashfile D:\works\Hello.txt MD5
执行结果如下,即该文件的MD5值是ac76b02ea9d86459fe9ae0d8e850113a
Windows 使用工具软件计算校验值
如果你不太熟悉命令行,这里也有一个非常好用的小工具软件——Hash 1.04。Hash 1.04是一位名叫“Robin Keir”的软件工程师开发的小工具,短小精悍,简单易上手,只需要将待计算文件拖到软件窗口上稍等片刻即可自动计算出MD5等校验值。
官方下载地址:http://keir.net/hash.html
Linux 使用命令行计算校验值
Linux下可以直接使用md5sum/sha1sum/sha256sum等命令直接计算文件的对应校验值。
md5sum /works/Hello.txt
sha1sum /works/Hello.txt
sha256sum /works/Hello.txt
关于校验值
校验值是一组16进制数,不区分大小写,校验值本身只与文件内容有关,只要文件内容不改变校验值就不变;如复制/剪切/粘贴,修改文件创建时间/访问时间,修改文件读/写/执行属性等操作都不会导致校验值发生改变。
当掌握快速计算校验值方法后,以后发送文件时就可以附带上该文件的校验值以防止文件中途损坏或被他人无意间修改。
扩展阅读
certutil介绍:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil
MD5介绍:https://en.wikipedia.org/wiki/MD5
SHA介绍:https://en.wikipedia.org/wiki/Secure_Hash_Algorithms