哪些生成校验和的命令行程序是 macOS 原生的?

Jay*_*ayB 5 command-line checksum hashing macos

[此处从 stackoverflow 迁移的问题,因为他们说这是题外话。]

我正在寻找可让您计算校验和的 macOS生命令行程序的列表/概述。

我知道以下几点:

CRC-32: /usr/bin/crc32

MD2:/usr/bin/openssl dgst -md2[注意:unknown option '-md2'在我的系统上产生错误]

MD4: /usr/bin/openssl dgst -md4

MD5:/sbin/md5/usr/bin/openssl dgst -md5

MDC-2: /usr/bin/openssl dgst -mdc2

RIPEMD-160: /usr/bin/openssl dgst -ripemd160

沙: /usr/bin/openssl dgst -sha

SHA-1:/usr/bin/shasum -a 1/usr/bin/openssl dgst -sha1

SHA-224:/usr/bin/shasum -a 224/usr/bin/openssl dgst -sha224

SHA-256:/usr/bin/shasum -a 256/usr/bin/openssl dgst -sha256

SHA-384:/usr/bin/shasum -a 384/usr/bin/openssl dgst -sha384

SHA-512:/usr/bin/shasum -a 512/usr/bin/openssl dgst -sha512

注意:根据openssl 手册页BLAKE2B 和 BLAKE2S 也可以计算,但我没有设法在 macOS 上做到这一点,无论是默认/usr/bin/openssl版本还是自制版本/usr/local/bin/openssl

我认识的就是这些。从命令行计算额外校验和的任何其他本地方法,例如 Adler-32、CRC-64、GOST、Whirlpool 等?

我知道您总是可以将rhash 之类的程序安装到 中/usr/local/bin,但我首先尝试查看本机方法。这还可以包括使用本机编写您自己的函数的脚本,例如zlibAdler-32。

小智 2

Sha256是openssl的默认算法。OpenSSL-1.1.0 包含 blake2b 和 blake2s 消息摘要算法。您可以使用此命令查看支持的算法列表。

openssl list --digest-commands 
Run Code Online (Sandbox Code Playgroud)

如果你使用最新的openssl-1.1.0b(2016年9月29日),你可以得到这个:

blake2b512        blake2s256        gost              md4
md5               mdc2              rmd160            sha1
sha224            sha256            sha384            sha512
Run Code Online (Sandbox Code Playgroud)

这意味着,您可以照常使用 blake2b 或 blake2s。

openssl dgst -blake2b512 /path/to/file
openssl dgst -blake2s256 /path/to/file
Run Code Online (Sandbox Code Playgroud)