情况
我在没有 GUI 的 FreeBSD 11.2 上。我是 BSD 系统的新手。
假设我们SHA512SUM
在 FreeBSD 上生成了一个文件:
sha512 encrypt-file-aes256 decrypt-file-aes256 > SHA512SUM
它看起来与 Linux 格式不同,Linux 可以使用--tag
switch 生成:
SHA512 (encrypt-file-aes256) = 9170caaa45303d2e5f04c21732500980f3b06fc361018f953127506b56d3f2f46c95efdc291e160dd80e39b5304f327d83fe72c625ab5f31660db9c99dbfd017
SHA512 (decrypt-file-aes256) = 893693eec618542b0b95051952f9258824fe7004c360f8e6056a51638592510a704e27b707b9176febca655b7df581c9a6e2220b6511e8426c1501f6b2dd48a9
问题
我如何检查这个文件?手册页中没有--check
选项。
进步
到目前为止,我只能通过硬编码哈希和来手动测试单个文件:
sha512 -c "9170caaa45303d2e5f04c21732500980f3b06fc361018f953127506b56d3f2f46c95efdc291e160dd80e39b5304f327d83fe72c625ab5f31660db9c99dbfd017" encrypt-file-aes256 && echo $?
脚本方面,我还没有看到SHA512SUM
自动检查整个文件的方法。
请注意,它可能包含比我的情况更多的两个文件。
您可以使用
shasum
(手册页)工具,该工具具有检查校验和文件的选项,并且是包括SHA-512-c
在内的多种校验和算法的前端。您可以使用如下命令来检查这两个文件:
该
shasum
工具只能解析与sha512sum
(该工具通常在 Linux 发行版中提供的工具)生成的格式兼容的输出格式。您可以使用简单的
sed
命令将 BSD 样式的校验和文件转换为 Linux 样式的文件:(虽然如果您自己生成校验和,那么使用
shasum
生成它们也是一个不错的选择,也与 Linux 上的工具兼容。)该
shasum
工具由 FreeBSD 端口提供p5-Digest-SHA
,可以pkg
通过运行以下命令进行安装: