为了验证下载文件的完整性,通常会进行 Hash 值校验,在 Windows 平台可以使用 PowerShell 计算文件的 Hash 值。

方法一:Get-FileHash 命令


命令格式:

Get-FileHash 文件名 -Algorithm 校验值类型

如果需要校验的文件路径比较复杂,例如路径中包含空格、括号等特殊符号,则需要在路径前后加上英文双引号。

Windows PowerShell 命令可以校验的Hash值类型包括:SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160,暂不支持校验CRC32值。

如果不带 -Algorithm 参数,也就是不指明验证的 Hash 值类型,那么默认验证的就是 SHA256 值。

下面以计算 ubuntu-18.04.4-desktop-amd64.iso 的 SHA256 校验值为例:

Ubuntu 官网提供的 SHA256 校验值:

c0d025e560d54434a925b3707f8686a7f588c42a5fbc609b8ea2447f88847041 *ubuntu-18.04.4-desktop-amd64.iso

与计算出的校验值一致,说明文件是完整的。

方法二:certutil 命令

支持的算法如下图所示:

命令格式:

certutil -hashfile 文件名 校验值类型

下面以计算 ubuntu-18.04.4-desktop-amd64.iso 的 SHA256 校验值为例:

Ubuntu 官网提供的 SHA256 校验值:

c0d025e560d54434a925b3707f8686a7f588c42a5fbc609b8ea2447f88847041 *ubuntu-18.04.4-desktop-amd64.iso

与计算出的校验值一致,说明文件是完整的。