Разница между Sha1sum, Sha256sum и Md5sum

10

В чем разница Sha1sum, Sha256sumи Md5sum? и как проверить все это на какой-то файл iso? а как создать md5sum.txtфайл в убунту?

Марко Бланка
источник
1
Посетите Википедию , это и это .
Pandya
1
У нас тоже есть sha512sum!
Будет

Ответы:

8

Если вы посмотрите на страницу руководства для каждого из них, вы увидите, что они говорят:

md5sum - compute and check MD5 message digest

sha1sum - compute and check SHA1 message digest

sha256sum - compute and check SHA256 message digest

Это говорит о том, что все они создают дайджест сообщения , который является односторонней функцией, которая принимает в качестве аргумента данные произвольного размера и возвращает хеш фиксированного размера. Хеш считается невозможным (в пределах практичности) перевернуть и найти два разных сообщения с одинаковым хешем (называемым коллизией).

Разница между ними заключается в алгоритме, который используется для генерации этого хэша.

MD5 был изобретен в начале 1990-х годов и до сих пор считается ошибочным и устаревшим.

SHA1 был также разработан в начале 1990-х годов. Он считается более сильным, чем MD5, но недостаточно сильным. Его использование в настоящее время изъято из цифровой подписи на цифровых сертификатах X.509.

SHA256 является рекомендуемой в настоящее время хэш-функцией.

Если у вас нет причин использовать более слабые алгоритмы, тогда SHA256 - верный путь.

Чтобы создать текстовый файл, просто перенаправьте вывод в файл. Например, если у вас есть образ Ubuntu ISO, который вы хотите хэшировать:

 md5sum Ubuntu.iso > md5sum.txt

Конечно, это работает и с другими вариантами.

Затем вы можете (например) распространить этот файл через Интернет, и получатель может снова проверить хеш с помощью:

md5sum Ubuntu.iso

Это напечатает хеш MD5, который получатель может сравнить с содержимым md5sum.txtфайла, который вы опубликуете. Если они одинаковые, файл не был подделан.

Конечно, было бы лучше, sha256sumчем использовать md5sum. Вы часто найдете широкий выбор этих хэш опубликованных ( md5sum.txt, sha1sum.txtи / или sha256sum.txt) с ISO , чтобы учесть тот факт , что некоторые системы могут не иметь все эти утилиты.

garethTheRed
источник
1

MD5, SHA-1 и SHA-256 - это разные хеш-функции (дайджесты). Они отличаются как по алгоритму, так и по размеру вывода.

Если вы проверяете большие файлы, вы можете ускорить процесс, избегая необходимости читать файл несколько раз. Общий подход

mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'

В этом случае это проще, потому что есть программа, которая вычисляет несколько дайджестов одновременно:

gpg --print-mds input
Хауке Лагинг
источник
Блестящее использование gpg, но как мне использовать его для сравнения разных файлов?
Герман Тутрот
1
@ user4050 Вы можете использовать gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2anf, а затем сравнить digest.1сdigest.2
Hauke ​​Laging