Ibland ser du MD5-, SHA-1- eller SHA-256-haschar tillsammans med nedladdningar under dina internetresor, men vet inte riktigt vad de är. Dessa till synes slumpmässiga textsträngar gör att du kan verifiera att filer som du laddar ner inte är skadade eller manipulerade. Du kan göra detta med de inbyggda kommandona i Windows, macOS och Linux.
Hur Hashes fungerar och hur de används för dataanifiering
Hashes är kryptografiska produkter algoritmer utformad för att producera en rad tecken. Ofta har dessa strängar en fast längd, oavsett storleken på indata. Ta en titt på ovanstående diagram så ser du att både "Fox" och "The Red Fox hoppar över den blå hunden" ger samma längd.
Jämför nu det andra exemplet i diagrammet med det tredje, fjärde och femte. Du kommer att se att, trots en mycket liten förändring av indata, är de resulterande hasharna mycket olika från varandra. Även om någon ändrar en mycket liten del av indata, kommer hash att förändras dramatiskt.
MD5, SHA-1 och SHA-256 är alla olika hashfunktioner. Programvarutillverkare tar ofta en filnedladdning - som en .iso-fil från Linux eller till och med en Windows .exe-fil - och kör den genom en hash-funktion. De erbjuder sedan en officiell lista över hash på sina webbplatser.
På det sättet kan du ladda ner filen och sedan köra hashfunktionen för att bekräfta att du har den riktiga originalfilen och att den inte har skadats under nedladdningsprocessen. Som vi såg ovan kommer även en liten ändring av filen att förändra hash dramatiskt.
Dessa kan också vara användbara om du har en fil som du har från en inofficiell källa och vill bekräfta att den är legitim. Låt oss säga att du har en Linux .ISO-fil du har någonstans och att du vill bekräfta att den inte har manipulerats. Du kan slå upp hash för den specifika ISO-filen online på Linux-distributionens webbplats. Du kan sedan köra den genom hashfunktionen på din dator och bekräfta att den matchar det hashvärde du förväntar dig att ha. Detta bekräftar att filen du har är exakt samma fil som erbjuds för nedladdning på Linux-distributionens webbplats utan några ändringar.
Observera att "kollisioner" har hittats med MD5 och SHA-1-funktionerna. Det här är flera olika filer - till exempel en säker fil och en skadlig fil - som resulterar i samma MD5- eller SHA-1-hash. Därför bör du föredra SHA-256 när det är möjligt.
Hur man jämför Hash-funktioner på alla operativsystem
Med det i åtanke, låt oss titta på hur du kontrollerar hash för en fil som du laddade ner och jämför den med den du får. Här är metoder för Windows, macOS och Linux. Hashen kommer alltid att vara identiska om du använder samma hashing-funktion i samma fil. Det spelar ingen roll vilket operativsystem du använder.
Windows
Denna process är möjlig utan någon tredje parts programvara på Windows tack vare PowerShell.
För att komma igång, öppna ett PowerShell-fönster genom att starta genvägen "Windows PowerShell" i din Start-meny.
Kör följande kommando och ersätt "C: \ path \ to \ file.iso" med sökvägen till vilken fil du vill visa hash:
Get-FileHash C: \ sökväg \ till \ fil.iso
Det tar lite tid att skapa hash för filen, beroende på filens storlek, algoritmen du använder och hastigheten på den enhet som filen är på.
Som standard visar kommandot SHA-256-hash för en fil. Du kan dock ange hashingalgoritmen du vill använda om du behöver en MD5, SHA-1 eller annan typ av hash.
Kör något av följande kommandon för att ange en annan hashingalgoritm:
Get-FileHash C: \ sökväg \ till \ fil.iso -Algorithm MD5
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1
Get-FileHash C: \ sökväg \ till \ fil.iso -Algorithm SHA256
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512
Get-FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160
Jämför resultatet av hashfunktionen med det resultat du förväntade dig att se. Om det är samma värde har filen inte skadats, manipulerats eller på annat sätt ändrats från originalet.
Mac OS
macOS innehåller kommandon för visning av olika typer av hash. Öppna ett terminalfönster för att komma åt dem. Du hittar den i Finder> Program> Verktyg> Terminal.
De
Smokey
kommandot visar MD5-hash för en fil:
md5 / sökväg / till / fil
De
Shasum
kommandot visar SHA-1-hash för en fil som standard. Det betyder att följande kommandon är identiska:
shasum / sökväg / till / fil
shasum -a 1 / sökväg / till / fil
För att visa SHA-256-hash för en fil, kör följande kommando:
shasum -a 256 / sökväg / till / fil
Linux
På Linux, öppna en terminal och kör ett av följande kommandon för att visa hash för en fil, beroende på vilken typ av hash du vill visa:
md5sum / sökväg / till / fil
sha1sum / sökväg / till / fil
sha256sum / sökväg / till / fil
Vissa Hashes är kryptografiskt signerade för ännu mer säkerhet
Även om hash kan hjälpa dig att bekräfta att en fil inte har manipulerats, finns det fortfarande en attackväg här. En angripare kan få kontroll över en Linux-distributions webbplats och ändra hasharna som visas på den, eller en angripare kan utföra en man-i-mitten-attack och ändra webbsidan under transport om du besöker webbplatsen via HTTP istället för krypterad HTTPS .
Därför ger moderna Linux-distributioner ofta mer än hash-listor på webbsidor. De signerar kryptografiskt dessa haschar för att skydda mot angripare som kan försöka ändra hasharna. Du vill verifiera den kryptografiska signaturen för att säkerställa att hash-filen faktiskt signerades av Linux-distributionen om du vill vara helt säker på att hash och fil inte har manipulerats.
RELATERAD: Så här kontrollerar du en Linux ISO-kontrollsumma och bekräftar att den inte har manipulerats med
Verifiera den kryptografiska signaturen är en mer involverad process. Läsa vår guide för att verifiera Linux-ISO har inte manipulerats med för fullständiga instruktioner.
Bildkredit: Jorge Stolfi / Wikimedia