Hur vet du säkert att den 4 GB-fil du bara laddat ner har överförts utan fel? Ett sätt är att använda en hashalgoritm som producerar ett "fingeravtryck" eller en "meddelandeförslutning" av den nedladdade filen. Liksom mänskliga fingeravtryck, är den resulterande teckensträngen menad att vara unik och endast den filen kan producera detta fingeravtryck. Webbplatser som erbjuder stora nedladdningar, säger en Linux-distribution som Fedora, kommer också att publicera en lista över hash för filerna. Allt du behöver göra är att kolla hash för filen du har mot den publicerade hashen och om de är desamma, så har filen laddats ner korrekt.

Tidigare var den föredragna hashingalgoritmen MD5 och även om den fortfarande används ofta (till exempel erbjuder Ubuntu-projektet fortfarande MD5-hash), det ersätts långsamt av SHAS-familjen av haschar. Problemet med MD5 är att det är möjligt att skapa flera filer med samma fingeravtryck. I ett känt fall bland kryptograferna sa en säkerhetsforskare att han visste vem som skulle vinna presidentvalet och han hade skapat en fil med resultatet i det och utfärdat MD5-hash. Han skulle släppa sin fil efter valet och bevisa att hans förutsägelse var rätt. Faktum är att det han gjorde hade skapat flera filer med alla möjliga vinnare och manipulerade filerna på ett sådant sätt att de alla hade samma MD5-fingeravtryck!

Det finns flera olika Secure Hash Algorithms (SHA) inklusive SHA1, SHA256 och SHA512. Tekniskt används SHA256 och SHA512 båda med samma algoritm, men bearbetar data i olika bitar - SHA256 använder 32 bitars block och SHA512 64 bitars block.

SHA1 liknar MD5 och som MD5, det finns några bekymmer om den unika egenskapen hos de resulterande hasherna och det är inte längre godkänt för många kryptografiska användningar sedan 2010. Men om du hittar en webbplats som publicerar SHA1-hash kan du kolla dem så här :

 sha1sum Fedora-19-i386-netinst.iso 

Utgången kommer att se ut så här:

 b24e9b7bd49168839fd056bbd0ac8f2aec6b68b9 Fedora-19-i386-netinst.iso 

SHA256 hash genereras på samma sätt:

 sha256 Fedora-19-i386-netinst.iso 

Och utsignalen är liknande, med undantag för att fingeravtrycksträngen är mycket längre:

 2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c Fedora-19-i386-netinst.iso 

Och på samma sätt för SHA512:

 sha512sum Fedora-19-i386-netinst.iso 

Det resulterande fingeravtrycket är ännu längre:

 9eb35d03cc289aa5d5a29cfc9080c3152a3da1b91a2b12d352b16a3d817a7479b9d1be3c7ecf011abf6a01f3122c66892f96a2c213756df786117412d8df99b3 Fedora-19-i386-netinst.iso 

Snarare bara publicera fingeravtrycksträngen i isolering, vissa webbplatser erbjuder en checksumfil som innehåller all hashinformation i maskinläsbar form som de olika sha kommandon kan använda för att automatiskt verifiera filer. En checksumfil för nätinstallationen 32 bitars Intel-version av Fedora 19 kan se ut så här:

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

För att kontrollera detta använd parametern " -c " så här:

 sha256sum -c Fedora-19-i386-CHECKSUM 

Där Fedora-19-i386-CHECKSUM är namnet på filen som innehåller fingeravtrycksinformationen som visas ovan.

Om fingeravtryck matchar så ser utmatningen ut så här:

 Fedora-19-i386-netinst.iso: OK 

Om det finns ett fel i den nedladdade filen kommer utmatningen att vara:

 Fedora-19-i386-netinst.iso: FAILED sha256sum: VARNING: 1 beräknat checksum matchade inte 

Prova detta

Din Linux-distribution innehåller sannolikt även sha224 och sha384 . Dessa två hashalgoritmer är avkortade versioner av SHA256 och SHA512. De kan användas på exakt samma sätt som sha256 och sha512 . Försök att producera haschar använder dem och märker skillnaderna i produktionen.