哈希校验

哈希校验的工具包主要有两个系列,一个是 GNU 系的 md5sumshaXXXsum,另一个是 BSD/macOS 系的 md5shasum。个人认为 GNU 系更好用些,因此我在 macOS 也使用 GNU 系列的工具包。

GNU 系

计算

md5sum <file>
sha1sum <file>
sha256sum <file>
sha512sum <file>

例:

sha256sum * > SHA256SUMS # 将目录中所有文件的 SHA-256 校验和写到 SHA256SUMS 文件中

校验

md5sum -c MD5SUMS   # 使用 MD5 算法逐个检验 MD5SUMS 文件中的条目
sha1sum -c SHA1SUMS # 使用 SHA-1 算法逐个检验 SHA1SUMS 文件中的条目
sha256sum -c SHA256SUMS
sha512sum -c SHA512SUMS

BSD/macOS 系

计算

md5 <file>            # MD5
shasum -a 1 <file>    # SHA-1
shasum -a 256 <file>  # SHA-256

例:

shasum -a 512 * > SHA512SUMS

参考:如何在苹果 Mac 系统上使用 MD5\SHA1\SHA256\SHA512 等方式生成并验证下载文件签名

校验

shasum -a 512 -c SHA512SUMS  # 使用 SHA-512 算法逐个检验 sum_file 中的文件项

md5 命令没有 -c 选项来验证校验和文件

Windows

在 Windows 上有 Get-FileHashCertUtil 两款工具可用于计算哈希值。Get-FileHash 是一个专注于计算文件哈希值的 PowerShell cmdlet,输出易于在脚本中处理,而 CertUtil 是一个功能更为广泛的 Windows 命令行工具,除了哈希计算外,还能管理证书和密钥。

CertUtil

CertUtil -hashfile <file> MD5
CertUtil -hashfile <file> SHA1
CertUtil -hashfile <file> SHA256

Get-FileHash

Get-FileHash <file> -Algorithm MD5

哈希验证通用步骤

# 导入作者公钥
gpg --import author.asc
# 验证哈希签名
gpg --verify file.sha512.asc  # Good signature from "xxx" [unknown]
# 验证哈希
sha512sum -c file.sha512  # file: OK
echo "file intergrity verified"
posted @ 2024-06-04 14:19  Undefined443  阅读(6)  评论(0编辑  收藏  举报