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

590
JayB

[Мигрированный вопрос из 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, но я стараюсь смотреть на собственные методы первого. Это также может включать в себя создание собственных функций с использованием собственных библиотек, например, zlibдля Adler-32.

3
Возможно, это не то, что вам нужно, поскольку вы уже перечислили MD5 (поэтому добавьте это как комментарий, а не как ответ): `/ sbin / md5` hertitu 7 лет назад 0
Вы правы, спасибо. Добавлен. Также добавлены `openssl` альтернативы` shasum` JayB 7 лет назад 0
Запоздалое приветствие в Super User. Извините, что вас перепрыгивают через Stack Exchange, но ваш вопрос здесь тоже может считаться не по теме. Этот сайт посвящен тому, как решить конкретную проблему. На вопрос о том, как рассчитать контрольную сумму, спрашивали и отвечали много раз. Однако вопрос о том, какую программу вы можете использовать для создания чего-либо, или составления списка альтернатив, является не по теме (рекомендация продукта или слишком широкий). Это отличный вопрос, и, конечно, полезный, но я не уверен, что есть конкретный способ спросить, что вы ищете. fixer1234 7 лет назад 1
Хорошо, у меня может быть решение для вас. Используйте вопрос с самостоятельным ответом и сделайте ответ сообщества вики. Вопрос будет что-то вроде «Как я могу вычислить контрольные суммы из командной строки, используя программу, родную для MacOS?», И добавить, что цель состоит в том, чтобы создать каноническую ссылку. Сделайте свой список ответом и убедитесь, что он включает в себя пример команды для каждой, а не просто список программ. Добавьте предложение, предлагающее другим внести свой вклад, и сделайте его вики-сообществом, чтобы поощрить это. fixer1234 7 лет назад 0
Нет, ты делаешь это У меня нет времени. JayB 7 лет назад 0

1 ответ на вопрос

2
Alex Chiang

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 
Nitpick: SHA256 по умолчанию для `openssl dgst` с 1.1.0; до этого это MD5. dave_thompson_085 7 лет назад 1