Så fungerar Hash-generator
Verktyget Hash-generator beräknar kryptografiska kontrollsummor och felkontrollkoder direkt i webbläsaren. Du väljer först indatatyp: text eller fil. För text analyseras indata som ren UTF-8 utan automatisk rensning av mellanrum eller radbrytningar. För filer läses innehållet lokalt utan att skickas vidare till någon extern server.
I standardläget beräknas fem algoritmer samtidigt: MD5, SHA-1, SHA-256, SHA-384 och SHA-512. Du kan även aktivera CRC32 om du behöver en traditionell felkontrollkod. Detta innebär att du slipper välja algoritm i förväg om du exempelvis ska kontrollera en fil mot en publicerad kontrollsumma där algoritmen inte anges i klartext.
Resultaten visas i en strukturerad tabell där varje rad visar algoritmens namn, beräknat värde och en snabbknapp för kopiering. Du kan välja representationsformat mellan hexadecimal form med små eller stora bokstäver samt Base64.
Fältet för förväntad kontrollsumma gör det enkelt att jämföra värden. Klistrar du in en kontrollsumma ignorerar verktyget automatiskt inledande och avslutande blanksteg samt skiftläge vid hexadecimala värden. Om du klistrar in en hel rad från terminalverktyg som sha256sum, extraheras det relevanta hashvärdet automatiskt. En matchande rad markeras omedelbart med en tydlig indikator för matchning. Under tabellen visar fotnoten filnamn och filstorlek eller exakt antal byte för textinmatningen.
Verifiera nedladdade filer med kontrollsummor
När du laddar ner installationsprogram, operativsystemsavbilder i ISO-format eller programuppdateringar är det klokt att kontrollera att filen är intakt innan du kör den. Skadade filer kan orsaka installationsfel och manipulerade filer kan innehålla skadlig kod.
Processen för att kontrollera en fil med Hash-generator sker i tre steg:
- Kopiera den publicerade kontrollsumman från utvecklarens webbplats, vanligtvis en SHA-256-sträng.
- Välj filen i verktyget under fliken Fil.
- Klistra in den kopierade kontrollsumman i fältet för förväntad kontrollsumma och läs av raden som matchar.
Kryptografiska hashfunktioner uppvisar en egenskap som kallas lavineffekten. Om en enda byte ändras i en fil på flera gigabyte blir den resulterande kontrollsumman helt annorlunda. Därför upptäcker en jämförelse minsta lilla avbrott eller datafel under överföringen.
En kontrollsumma som hämtas från samma osäkra server som själva filen bevisar enbart att filen laddades ner utan korruption. Om en angripare kontrollerar servern kan angriparen byta ut både filen och kontrollsumman. För att garantera ursprung och äkthet krävs kryptografiskt signerade kontrollsummor eller verifiering via en oberoende säker distributionskanal.
Välja rätt algoritm för ditt ändamål
Olika hashalgoritmer har konstruerats under olika tidsperioder med skilda krav på beräkningshastighet och säkerhet. Vissa är optimerade för snabb feldetektering, medan andra är designade för att motstå kvalificerade kryptografiska angrepp.
Tabellen sammanfattar egenskaperna hos de algoritmer som stöds:
| Algoritm | Utdata (bitar) | Hexadecimal längd | Nuvarande status | | CRC32 | 32 bitar | 8 tecken | Ej kryptografisk, enbart felkontroll | | MD5 | 128 bitar | 32 tecken | Kollisioner möjliga (RFC 6151) | | SHA-1 | 160 bitar | 40 tecken | Pensionerad av NIST på grund av kollisioner | | SHA-256 | 256 bitar | 64 tecken | Säker standard enligt FIPS 180-4 | | SHA-384 | 384 bitar | 96 tecken | Säker standard enligt FIPS 180-4 | | SHA-512 | 512 bitar | 128 tecken | Säker standard enligt FIPS 180-4 |
CRC32 är inte en kryptografisk hashfunktion utan en cyklisk redundanskontroll som upptäcker oavsiktliga bitfel i nätverkspaket och arkivfiler som ZIP.
MD5 och SHA-1 är kryptografiskt brutna i bemärkelsen att det går att producera två olika filer med identisk kontrollsumma. Detta innebär att de inte ska användas för digitala signaturer eller certifikat. De fungerar fortfarande väl för att upptäcka oavsiktliga nedladdningsfel där ingen angripare är inblandad. För all säkerhetskritisk verifiering är SHA-256 eller SHA-512 det rekommenderade valet.
Skillnaden mellan hashning och kryptering
Ett vanligt missförstånd inom datasäkerhet är att likställa hashning med kryptering. Begreppen fyller helt olika syften och fungerar matematiskt på skilda sätt.
Kryptering är en tvåvägsprocess. Data omvandlas till chiffertext med hjälp av en krypteringsnyckel, och informationen kan återställas till sitt ursprungliga skick med motsvarande dekrypteringsnyckel. Målet med kryptering är sekretess under överföring eller lagring.
Hashning är en envägsprocess. En hashfunktion tar indata av godtycklig storlek och genererar en kontrollsumma med fast längd. Det finns ingen avkodningsnyckel och den ursprungliga texten kan inte matematiskt räknas baklänges från hashen.
Trots att hashning är en envägsfunktion kan korta eller vanliga textsträngar identifieras genom uppslagning i förberäknade tabeller, så kallade regnbågstabeller. Om en angripare har förberäknat SHA-256 för miljontals vanliga ord kan angriparen snabbt slå upp vilket ord som gav upphov till ett visst hashvärde.
Av denna anledning ska snabba algoritmer som SHA-256 eller MD5 aldrig användas ensamma för lagring av lösenord. Lösenordshantering kräver specialiserade, beräkningsmässigt tröga algoritmer som bcrypt eller Argon2 som applicerar unika saltvärden för varje användare för att neutralisera förberäknade tabeller.
Varför hashvärden skiljer sig åt för samma text
Om du klistrar in en text och får ett annat hashvärde än vad ett externt system förväntar sig beror det nästan alltid på osynliga tecken eller teckenkodning. Hashfunktioner arbetar på bytenivå och tolkar inte text semantiskt.
De vanligaste orsakerna till avvikelser är:
- Radbrytningar: Windows använder radbrytningen CRLF (
\r\n) medan macOS och Linux använder LF (\n). Denna skillnad på en enda osynlig byte ger två helt olika kontrollsummor.
- Osynliga blanksteg: Ett avslutande mellanslag eller en extra tabulator i slutet av en textrad förändrar indataströmmen helt. Hash-generator tar emot text exakt som den skrivs och rensar inga tecken automatiskt.
- Teckenkodning: Verktyget kodar alltid text som UTF-8. Om en annan tjänst använder ISO-8859-1 eller Windows-1252 för svenska tecken som å, ä och ö blir de underliggande bytena annorlunda, vilket ger en annan kontrollsumma.
Skiftläge spelar ingen roll när du jämför hexadecimala värden eftersom a och A representerar samma siffervärde tio. För Base64 är skiftläge däremot avgörande eftersom små och stora bokstäver representerar skilda teckenvärden. Om du behöver justera radbrytningar och automatiskt ta bort avslutande blanksteg kan du använda MD5-generator för text.
Lokal filhashning utan serveruppladdning
Att kontrollera integriteten hos känsliga filer som företagsdokument, källkod eller privata programfiler kräver att innehållet inte exponeras för obehöriga. Många webbaserade verktyg överför filen till en extern server för bearbetning, vilket medför både säkerhetsrisker och långsam uppladdning.
I Hash-generator sker all bearbetning lokalt i webbläsaren via det inbyggda gränssnittet Web Crypto API. När du väljer en fil läser webbläsarens skriptmotor filens binära data direkt från din enhet via minnet. Ingen byte överförs över nätverket, vilket innebär att verktyget fungerar felfritt även i offline-läge efter att webbsidan har lästs in.
Filgränsen på 1 GB beror på att filen läses in i webbläsarens allokerade arbetsminne för att hashas i ett enda svep. På mobila enheter med begränsat RAM-minne kan mycket stora filer kräva extra resurser.
Verktyget är kostnadsfritt och kräver inget användarkonto. För specifika arbetsflöden där du vill beräkna HMAC eller arbeta uteslutande med enskilda filer finns filbaserad MD5-beräkning. Om du behöver analysera hela mappar eller många filer samtidigt kan du använda gruppvis MD5-kontroll för flera filer.