从网络上下载文件,尤其是非常大的文件怎么确保文件准确无误呢?
通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等,
当文件下载完成后,计算它的校验值,如果和网站提供的一致,就可以放心使用了。
Windows 使用命令行计算校验值
在命令行下,可以使用Windows自带的certutil命令来计算一个文件的校验值:
1 | certutil.exe -hashfile |
certutil的使用方法非常简单,只需要执行“certutil -hashfile 文件名 校验值类型”,即可计算出对应文件的校验值。例如:计算D:\works\hello.txt这个文件的MD5,可以执行命令:1
certutil -hashfile D:\works\Hello.txt MD5
Linux 使用命令行计算校验值
Linux下可以直接使用md5sum/sha1sum/sha256sum等命令直接计算文件的对应校验值。1
2
3md5sum /works/Hello.txt
sha1sum /works/Hello.txt
sha256sum /works/Hello.txt
关于校验值
校验值是一组16进制数,不区分大小写,校验值本身只与文件内容有关,只要文件内容不改变校验值就不变;如复制/剪切/粘贴,修改文件创建时间/访问时间,修改文件读/写/执行属性等操作都不会导致校验值发生改变。
当掌握快速计算校验值方法后,以后发送文件时就可以附带上该文件的校验值以防止文件中途损坏或被他人无意间修改。