У чому різниця між Sha1sum
, Sha256sum
і Md5sum
? і як перевірити все це на якийсь ISO файл? і як створити md5sum.txt
файл в ubuntu?
sha512sum
!
У чому різниця між Sha1sum
, Sha256sum
і Md5sum
? і як перевірити все це на якийсь ISO файл? і як створити md5sum.txt
файл в ubuntu?
sha512sum
!
Відповіді:
Якщо ви подивитеся на сторінку чоловіка для кожного з них, ви побачите, що вони говорять:
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 , щоб врахувати той факт , що деякі системи можуть не мати всі ці утиліти.
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 --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2
НФ потім порівняти digest.1
зdigest.2