Hjemmeside » hvordan » Hvad er MD5, SHA-1 og SHA-256 Hashes, og hvordan kontrollerer jeg dem?

    Hvad er MD5, SHA-1 og SHA-256 Hashes, og hvordan kontrollerer jeg dem?

    Du vil undertiden se MD5, SHA-1 eller SHA-256 hashes vises sammen med downloads under dine internetrejser, men ikke rigtig kendt, hvad de er. Disse tilsyneladende tilfældige tekststreng giver dig mulighed for at kontrollere, at filer, du downloader ikke er beskadiget eller manipuleret med. Du kan gøre dette med kommandoerne indbygget i Windows, MacOS og Linux.

    Hvordan Hashes arbejder, og hvordan de bruges til data verifikation

    Hashes er produkterne af kryptografiske algoritmer designet til at producere en streng af tegn. Ofte har disse strenge en fast længde, uanset størrelsen af ​​inputdataene. Tag et kig på ovenstående diagram, og du vil se, at både "Fox" og "Den røde ræv hopper over den blå hund" giver samme længde output.

    Sammenlign nu det andet eksempel i diagrammet til tredje, fjerde og femte. Det vil du se på trods af en meget mindre ændring i inputdataene, er de resulterende hash'er meget forskellige fra hinanden. Selv om nogen ændrer et meget lille stykke af inputdataene, ændres hasen dramatisk.

    MD5, SHA-1 og SHA-256 er alle forskellige hashfunktioner. Software-skabere tager ofte en fil download-som en Linux .iso-fil eller endda en Windows .exe-fil - og kør den gennem en hash-funktion. De tilbyder derefter en officiel liste over hasherne på deres hjemmesider.

    På den måde kan du downloade filen og derefter køre hash-funktionen for at bekræfte, at du har den rigtige, originale fil, og at den ikke er blevet beskadiget under downloadprocessen. Som vi så ovenfor, vil selv en lille ændring i filen dramatisk ændre hasen.

    Disse kan også være nyttige, hvis du har en fil, du har fra en uofficiel kilde, og du vil bekræfte, at det er legitimt. Lad os sige, at du har en Linux. ISO-fil, du kom fra et sted, og du vil bekræfte det, er ikke blevet manipuleret med. Du kan slå op på hash for den pågældende ISO-fil online på Linux-distributionens hjemmeside. Du kan derefter køre den gennem hash-funktionen på din computer og bekræfte, at den svarer til hashværdien, du forventer at have. Dette bekræfter den fil du har, er den nøjagtig samme fil, der tilbydes til download på Linux distributionens hjemmeside uden ændringer.

    Bemærk at "kollisioner" er fundet med MD5 og SHA-1 funktionerne. Disse er flere forskellige filer - for eksempel en sikker fil og en ondsindet fil - der resulterer i samme MD5 eller SHA-1 hash. Derfor foretrækker du SHA-256, når det er muligt.

    Sådan sammenlignes Hash-funktioner på ethvert operativsystem

    Med det i tankerne, lad os se på, hvordan du tjekker hash for en fil, du downloadede, og sammenligner den med den, du får. Her er metoder til Windows, MacOS og Linux. Haserne vil altid være identiske, hvis du bruger den samme hashing-funktion på samme fil. Det er ligegyldigt hvilket operativsystem du bruger.

    vinduer

    Denne proces er mulig uden software fra tredjepart på Windows takket være PowerShell.

    For at komme i gang skal du åbne et PowerShell-vindue ved at starte genvejstasten "Windows PowerShell" i menuen Start.

    Kør følgende kommando, erstatte "C: \ path \ to \ file.iso" med stien til en fil, du vil se hash af:

    Få-FileHash C: \ path \ til \ file.iso

    Det vil tage lidt tid at generere hash af filen, afhængigt af filens størrelse, algoritmen du bruger, og hastigheden på drevet, filen er på.

    Som standard viser kommandoen SHA-256 hash for en fil. Du kan dog angive den hashingalgoritme, du vil bruge, hvis du har brug for en MD5, SHA-1 eller en anden type hash.

    Kør en af ​​følgende kommandoer for at angive en anden hashing-algoritme:

    Få-FileHash C: \ path \ til \ file.iso -Algorithm MD5
    Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA1
    Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA256
    Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA384
    Få-FileHash C: \ path \ til \ file.iso -Algorithm SHA512
    Få-FileHash C: \ path \ til \ file.iso -Algorithm MACTripleDES
    Få-FileHash C: \ path \ til \ file.iso -Algorithm RIPEMD160

    Sammenlign resultatet af hash-funktionen til det resultat, du forventede at se. Hvis det er den samme værdi, er filen ikke blevet ødelagt, manipuleret eller ændret på anden måde fra originalen.

    MacOS

    macOS indeholder kommandoer til visning af forskellige typer hash. For at få adgang til dem, start et Terminal vindue. Du finder den på Finder> Programmer> Hjælpeprogrammer> Terminal.

    Det md5 kommando viser MD5 hash for en fil:

    md5 / path / to / file

    Det shasum kommando viser som standard SHA-1 hash for en fil. Det betyder, at følgende kommandoer er identiske:

    shasum / sti / til / fil
    shasum -a 1 / path / to / file

    For at vise SHA-256 hash af en fil skal du køre følgende kommando:

    shasum -a 256 / path / to / file

    Linux

    På Linux skal du få adgang til en Terminal og køre en af ​​følgende kommandoer for at få vist hash for en fil afhængigt af hvilken type hash du vil se:

    md5sum / path / to / file
    sha1sum / path / to / file
    sha256sum / path / to / file

    Nogle Hashes er kryptografisk signeret for endnu mere sikkerhed

    Mens hashes kan hjælpe dig med at bekræfte, at en fil ikke blev manipuleret, er der stadig et angreb her. En angriber kan få kontrol over en Linux-distributions websted og ændre de hash'er, der vises på den, eller en angriber kan udføre et man-in-the-middle-angreb og ændre websiden under transit, hvis du havde adgang til hjemmesiden via HTTP i stedet for krypteret HTTPS.

    Derfor leverer moderne Linux-distributioner ofte mere end hash'er, der er opført på websider. De signerer kryptografisk disse hash for at hjælpe med at beskytte mod angribere, der kan forsøge at ændre hashene. Du vil gerne bekræfte kryptografisk signatur for at sikre, at hashfilen faktisk blev underskrevet af Linux-distributionen, hvis du vil være helt sikker på, at hash og fil ikke blev manipuleret med.

    Bekræftelse af kryptografisk signatur er en mere involveret proces. Læs vores vejledning til at verificere Linux ISOs er ikke blevet manipuleret til fulde instruktioner.

    Billedkredit: Jorge Stolfi / Wikimedia