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

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

    Du vil noen ganger se MD5-, SHA-1- eller SHA-256-hashene som vises sammen med nedlastinger under dine internettreiser, men egentlig ikke kjent hva de er. Disse tilsynelatende tilfeldige strengene av tekst tillater deg å verifisere at filer du laster ned ikke er skadet eller manipulert med. Du kan gjøre dette med kommandoene som er innebygd i Windows, MacOS og Linux.

    Hvordan Hashes Arbeid, og hvordan de brukes til data verifisering

    Hashes er produktene av kryptografiske algoritmer designet for å produsere en streng av tegn. Ofte har disse strengene en fast lengde, uansett størrelsen på inngangsdataene. Ta en titt på ovenstående diagram, og du vil se at både "Fox" og "Den røde reven hopper over den blå hunden" gir samme lengde utgang.

    Sammenlign nå det andre eksemplet i diagrammet til tredje, fjerde og femte. Du ser at til tross for en svært liten endring i inngangsdataene, er de resulterende hashene svært forskjellige fra hverandre. Selv om noen endrer et meget lite stykke av inngangsdata, vil hasen endres dramatisk.

    MD5, SHA-1 og SHA-256 er alle forskjellige hashfunksjoner. Programvareleverandører tar ofte en filnedlasting - som en Linux .iso-fil, eller til og med en Windows .exe-fil - og kjører den gjennom en hash-funksjon. De tilbyr deretter en offisiell liste over hashene på deres nettsider.

    På den måten kan du laste ned filen og deretter kjøre hash-funksjonen for å bekrefte at du har den ekte, originale filen, og at den ikke har blitt skadet under nedlastingsprosessen. Som vi så over, vil selv en liten endring i filen dramatisk endre hasen.

    Disse kan også være nyttige hvis du har en fil du har fra en uoffisiell kilde, og du vil bekrefte at den er legitim. La oss si at du har en Linux. ISO-fil du har fra et sted, og du vil bekrefte det, har ikke blitt manipulert med. Du kan slå opp hash av den spesifikke ISO-filen online på Linux-distribusjonens nettsted. Du kan deretter kjøre den gjennom hash-funksjonen på datamaskinen din og bekrefte at den samsvarer med hashverdien du forventer at den skal ha. Dette bekrefter at filen du har er nøyaktig samme fil som tilbys for nedlasting på Linux-distribusjonens nettside, uten noen endringer.

    Merk at "kollisjoner" har blitt funnet med MD5- og SHA-1-funksjonene. Dette er flere forskjellige filer, for eksempel en sikker fil og en ondsinnet fil, som resulterer i samme MD5 eller SHA-1 hash. Det er derfor du bør foretrekke SHA-256 når det er mulig.

    Slik sammenligner du Hash-funksjoner på hvilket som helst operativsystem

    Med det i tankene, la oss se på hvordan du sjekker hash av en fil du lastet ned, og sammenligne den med den du får. Her er metoder for Windows, MacOS og Linux. Hasjene vil alltid være identiske hvis du bruker den samme hashing-funksjonen på samme fil. Det spiller ingen rolle hvilket operativsystem du bruker.

    Windows

    Denne prosessen er mulig uten noen tredjeparts programvare på Windows takket være PowerShell.

    For å komme i gang, åpne et PowerShell-vindu ved å starte snarveien "Windows PowerShell" i Start-menyen.

    Kjør følgende kommando, erstatt "C: \ path \ to \ file.iso" med banen til en hvilken som helst fil du vil vise hash på:

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

    Det vil ta litt tid å generere hash av filen, avhengig av størrelsen på filen, algoritmen du bruker, og hastigheten på stasjonen filen er på.

    Som standard vil kommandoen vise SHA-256-hash for en fil. Du kan imidlertid spesifisere hashingalgoritmen du vil bruke hvis du trenger en MD5, SHA-1 eller en annen type hash.

    Kjør en av følgende kommandoer for å angi en annen hashing-algoritme:

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

    Sammenlign resultatet av hash-funksjonen til resultatet du forventet å se. Hvis det er samme verdi, har filen ikke blitt skadet, manipulert eller endret på annen måte fra originalen.

    Mac os

    macOS inneholder kommandoer for visning av forskjellige typer hashes. For å få tilgang til dem, start et Terminal-vindu. Du finner den på Finder> Programmer> Verktøy> Terminal.

    De md5 kommandoen viser MD5-hash av en fil:

    md5 / bane / til / fil

    De shasum Kommandoen viser som standard SHA-1-hash for en fil. Det betyr at følgende kommandoer er identiske:

    shasum / bane / til / fil
    shasum -a 1 / bane / til / fil

    For å vise SHA-256 hash av en fil, kjør følgende kommando:

    shasum-a 256 / path / to / file

    Linux

    På Linux, få tilgang til en terminal og kjør en av følgende kommandoer for å vise hash for en fil, avhengig av hvilken type hash du vil vise:

    md5sum / bane / til / fil
    sha1sum / bane / til / fil
    sha256sum / bane / til / fil

    Noen Hashes er kryptografisk signert for enda mer sikkerhet

    Mens hashes kan hjelpe deg med å bekrefte at en fil ikke ble manipulert, er det fortsatt en avenue av angrep her. En angriper kan få kontroll over en Linux-distribusjons nettsted og modifisere hashene som vises på den, eller en angriper kan utføre et man-i-midten-angrep og endre nettsiden under transitt hvis du fikk tilgang til nettstedet via HTTP i stedet for kryptert HTTPS.

    Derfor gir moderne Linux-distribusjoner ofte mer enn hashes oppført på nettsider. De signerer kryptografisk disse hashene for å beskytte mot angripere som kan forsøke å endre hashene. Du vil verifisere kryptografisk signatur for å sikre at hashfilen faktisk ble signert av Linux-distribusjonen hvis du vil være helt sikker på at hasen og filen ikke var manipulert med.

    Verifisering av kryptografisk signatur er en mer involvert prosess. Les vår veiledning for å verifisere Linux ISO-er ikke blitt manipulert for fullstendige instruksjoner.

    Bildekreditt: Jorge Stolfi / Wikimedia