3

[Мигрированный вопрос из 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

SHA: /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

Примечание: в соответствии с man-страницей openssl BLAKE2B и BLAKE2S также могут быть рассчитаны, но мне не удалось сделать это на macOS, ни по умолчанию /usr/bin/openssl ни с домашней версией /usr/local/bin/openssl .

Это те, кого я знаю. Есть ли другие собственные способы вычисления дополнительных контрольных сумм из командной строки, например, Adler-32, CRC-64, ГОСТ, Whirlpool и т.д.?

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

1 ответ1

2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .