Какие программы командной строки для генерации контрольных сумм являются родными для macOS?

Какие программы командной строки для генерации контрольных сумм являются родными для macOS?

[Вопрос перенесен сюда со stackoverflow, так как они сказали, что он не по теме.]

Мне нужен список/обзор программ командной строки.роднойв macOS, позволяющую вычислять контрольные суммы.

Мне известно следующее:

CRC-32:/usr/bin/crc32

MD2: /usr/bin/openssl dgst -md2[Примечание: unknown option '-md2'в моей системе возникает ошибка]

МД4:/usr/bin/openssl dgst -md4

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

МДЦ-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 и т. д.?

Я знаю, что вы всегда можете установить такие программы, какрхашв /usr/local/bin, но я пытаюсь сначала рассмотреть собственные методы. Это может также включать написание собственных функций с использованием собственныхбиблиотеки, как zlibу Адлера-32.

решение1

Sha256 — это алгоритм по умолчанию openssl. OpenSSL-1.1.0 включает алгоритмы дайджестов сообщений blake2b и blake2s. Вы можете использовать эту команду, чтобы увидеть список поддерживаемых алгоритмов.

openssl list --digest-commands 

Если вы используете последнюю версию openssl-1.1.0b (29 сентября 2016 г.), вы можете получить следующее:

blake2b512        blake2s256        gost              md4
md5               mdc2              rmd160            sha1
sha224            sha256            sha384            sha512

Это значит, что вы можете использовать blake2b или blake2s как обычно.

openssl dgst -blake2b512 /path/to/file
openssl dgst -blake2s256 /path/to/file

Связанный контент