Откъде знаеш, че току-що изтегленият 4 GB файл бе прехвърлен без грешка? Един от начините е да използвате хеш алгоритъм, който създава "отпечатъци от пръсти" или "извличане на съобщения" от изтегления файл. Подобно на човешките пръстови отпечатъци, полученият низ от знаци трябва да бъде уникален и само този файл може да доведе до отпечатъка. Сайтове, предлагащи големи изтегляния, казват, че дистрибуцията на Linux, като Fedora, също ще публикува списък с хешове за файловете. Всичко, което трябва да направите, е да проверите хеш файла, който имате срещу публикувания хеш, и ако те са еднакви, то файлът е изтеглен правилно.

В миналото предпочитаният алгоритъм за хеширане е MD5 и въпреки че все още е широко използван (например проектът Ubuntu все още осигурява MD5 хешове), бавно се заменя от SHA семейството на хешове. Проблемът с MD5 е, че е възможно да се създадат няколко файла със същия пръстов отпечатък. В един известен случай сред криптографите, изследователи по сигурността заявиха, че знаят кой ще спечели президентските избори, и е създал файл с резултата в него и е издал MD5 хеш. Той ще освободи досието си след изборите и ще докаже, че предсказанието му е правилно. Всъщност това, което беше направил, бе да създаде няколко файла с всички възможни победители и да манипулира файловете по такъв начин, че всички те да имат същия пръстов отпечатък MD5!

Има няколко различни Secure Hash Algorithms (SHA), включително SHA1, SHA256 и SHA512. Технически SHA256 и SHA512 използват един и същ алгоритъм, но обработват данните в различни размери - SHA256 използва 32-битови блокове и 64-битови SHA512 блокове.

SHA1 е подобен на MD5 и като MD5, има известни опасения относно уникалността на получените хешове и вече не е одобрен за много криптографски приложения от 2010 г. насам. Ако обаче намерите сайт, който публикува SHA1 хешове, можете да ги проверите по този начин :

 sha1sum Fedora-19-i386-netinst.iso 

Резултатът ще изглежда така:

 b24e9b7bd49168839fd056bbd0ac8f2aec6b68b9 Fedora-19-i386-netinst.iso 

SHA256 хешове се генерират по същия начин:

 sha256 Fedora-19-i386-netinst.iso 

Изходът е подобен, с изключение на това, че низът на пръстовите отпечатъци е много по-дълъг:

 2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c Fedora-19-i386-netinst.iso 

Също така за SHA512:

 sha512sum Fedora-19-i386-netinst.iso 

Полученият пръстов отпечатък е още по-дълъг:

 9eb35d03cc289aa5d5a29cfc9080c3152a3da1b91a2b12d352b16a3d817a7479b9d1be3c7ecf011abf6a01f3122c66892f96a2c213756df786117412d8df99b3 Fedora-19-i386-netinst.iso 

По-скоро просто публикувайте пръстовите отпечатъци в изолация, някои сайтове предлагат файл с контролна сума, който съдържа цялата хеш информация в машинночетима форма, която различните команди на sha могат да използват, за да проверяват автоматично файловете. Файлът с контролна сума за инсталираната в мрежата 32-битова версия на Fedora 19 на Intel може да изглежда така:

 2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c * Fedora-19-i386-netinst.iso 

За да проверите това, използвайте параметъра " -c " по следния начин:

 sha256sum-c Fedora-19-i386-CHECKSUM 

Когато Fedora-19-i386-CHECKSUM е името на файла, съдържащ информацията за пръстовите отпечатъци, както е показано по-горе.

Ако пръстовите отпечатъци съвпадат, тогава изходът ще изглежда така:

 Fedora-19-i386-netinst.iso: Добре 

Ако в изтегления файл има грешка, изходът ще бъде:

 Fedora-19-i386-netinst.iso: FAILED sha256sum: ВНИМАНИЕ: 1 изчислена контролна сума не съвпада 

Опитайте тази

Разпространението на Linux вероятно съдържа и команди sha224 и sha384 . Тези два алгоритми за хеш са скъсени версии на SHA256 и SHA512. Те могат да се използват по същия начин, както sha256 и sha512 . Опитайте да произведете хешове, които ги използват и забележете разликите в изхода.