Если вы посмотрите справочную страницу для каждого из них, вы увидите, что они говорят:
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.
Чтобы создать текстовый файл, просто перенаправьте вывод в файл. Например, если у вас есть ISO-образ Ubuntu, который вы хотите хэшировать:
md5sum Ubuntu.iso > md5sum.txt
Конечно, это работает и с другими вариантами.
Затем вы можете (например) распространить этот файл через Интернет, и получатель может снова проверить хэш с помощью:
md5sum Ubuntu.iso
Будет напечатан хеш MD5, который получатель может сравнить с содержимым md5sum. txt
, который вы будете опубликовать. Если они совпадают, файл не был изменен.
Конечно, было бы лучше использовать sha256sum
, чем md5sum
.Вы часто найдете подборку этих хешей ( md5sum.txt
, sha1sum.txt
и / или sha256sum.txt
) с ISO, чтобы разрешить тот факт, что в некоторых системах может не быть всех этих утилит.
Вы можете найти xml-файлы, в которых хранится эта информация, в/usr/lib/firewalld/services/
(для управляемых служб дистрибутива -)и/или /etc/firewalld/services/
для ваших собственных пользовательских -определенных служб.
Например, samba.xml
читается как (на моем centos7):
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Samba</short>
<description>This option allows you to access and participate in Windows file and printer sharing networks. You need the samba package installed for this option to be useful.</description>
<port protocol="udp" port="137"/>
<port protocol="udp" port="138"/>
<port protocol="tcp" port="139"/>
<port protocol="tcp" port="445"/>
<module name="nf_conntrack_netbios_ns"/>
</service>
, поэтому легко определить, какие порты включены этой службой.