我们经常会在网上下载一些东西,很多时候都有一个类似于:SHA256SUMS、SHA256SUMS.gpg、md5sum、md5sum.gpg等等,这就是MD5、SHA1、SHA256“文件校验”,谨慎的朋友常会做一些文件校验。
例如:
今天我下载了一个ISO的文件,我需要验证一下ISO这个文件的完整性,就需要用上MD5、SHA1、SHA256“文件校验”,也可以理解为文件密钥验证。
一、Windows下MD5、SHA1、SHA256文件校验方法
Windows 下使用 dos 命令,对文档进行校验 MD5、SHA1、SHA256。
certutil -hashfile filename.ext MD5
certutil -hashfile filename.ext SHA1
certutil -hashfile filename.ext SHA256
例如:
我需要 文件验证 ubuntu-20.04.3-desktop-amd64.iso 这个文件。
1、以管理员的方式打开Powershell,输入以下命令:
PS C:\Windows\system32> certutil -hashfile G:\ISO\ubuntu-20.04.3-desktop-amd64.iso SHA256
SHA256 的 G:\ISO\ubuntu-20.04.3-desktop-amd64.iso 哈希:
5fdebc435ded46ae99136ca875afc6f05bde217be7dd018e1841924f71db46b5
CertUtil: -hashfile 命令成功完成。
PS C:\Windows\system32> certutil -hashfile G:\ISO\ubuntu-20.04.3-desktop-amd64.iso MD5
MD5 的 G:\ISO\ubuntu-20.04.3-desktop-amd64.iso 哈希:
d14cb9b6f48feda0563cda7b5335e4c0
CertUtil: -hashfile 命令成功完成。
PS C:\Windows\system32>
2、开始对比密钥,确保密钥结果是一样的,一样说明软件是完整的。否则就是不安全的,可能是恶意软件什么的......。
我从官网上查到了Ubuntu 20.04.3 LTS的密钥,只有sha256sum的,没有发现有md5sum的,不过也没关系,可能是目前最新版本的原因,只有这一个文件密钥。有其中一个密钥也是可以的。如下:
Ubuntu 20.04.3 sha256sum密钥网址:https://releases.ubuntu.com/20.04/SHA256SUMS
5fdebc435ded46ae99136ca875afc6f05bde217be7dd018e1841924f71db46b5 *ubuntu-20.04.3-desktop-amd64.iso
f8e3086f3cea0fb3fefb29937ab5ed9d19e767079633960ccb50e76153effc98 *ubuntu-20.04.3-live-server-amd64.iso
3、对比结果:
sha256sum密钥都是一致的。由于官方没有公布md5sum的密钥,暂时可先不对比。
二、Linux下MD5、SHA1、SHA256文件校验方法
直接打开终端,进入到文档所在目录,进行 MD5、SHA1、SHA256 文档校验:
md5sum <name>.iso
sha1sum <name>.iso
sha256sum <name>.iso
三、Mac下MD5、SHA1、SHA256文件校验方法
例如:
shasum -a 256 ubuntu-20.04.3-desktop-amd64.iso
总结:
不管是哪个操作系统?不管你是需要验证什么文件?还是文档?此操作都是原理都是通用的。我这为了演示,仅用ISO文件来测试了一下文件校验。