Utilia

Hashgenerator

Generera MD5-, SHA-1-, SHA-256- och SHA-512-hashar av text eller filer i valfri storlek och kontrollera kontrollsummor. Allt körs i din webbläsare.

Hasha
Texten kodas som UTF-8.
Algoritmer

Så använder du hashgeneratorn

  1. Under Hasha väljer du Text eller Filer.
  2. För text skriver eller klistrar du in den i Text att hasha. Hasharna uppdateras medan du skriver, och knappen Hasha räknar om dem vid behov.
  3. För filer släpper du en eller flera filer på släppytan eller klickar på den för att välja dem. För stora filer visas en förloppsindikator med knappen Avbryt.
  4. Välj de Algoritmer du behöver (MD5, SHA-1, SHA-256, SHA-512) och Utdataformat: hexadecimalt med gemener, hexadecimalt med versaler eller Base64.
  5. För att kontrollera en nedladdning klistrar du in den publicerade kontrollsumman i Jämför med en förväntad hash (valfritt). Verktyget talar om vilken algoritm som stämmer, eller att ingen gör det.

Vad är en hash?

En kryptografisk hashfunktion gör om vilken indata som helst, vare sig det är ett ord eller en diskavbild på 50 GB, till ett kort fingeravtryck med fast storlek. Samma indata ger alltid samma hash, och om en enda bit i indata ändras blir resultatet helt annorlunda. Det går inte att vända på en hash för att få tillbaka indata.

Algoritm Utdatastorlek Hexlängd Status
MD5 128 bitar 32 tecken Knäckt: bara för kontrollsummor
SHA-1 160 bitar 40 tecken Knäckt: kollisioner visades 2017
SHA-256 256 bitar 64 tecken Säker, dagens standard
SHA-512 512 bitar 128 tecken Säker, ofta snabbare på 64-bitarsprocessorer

SHA-256-hashen av abc är till exempel ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Kontrollera en nedladdning

Programvaruutgivare listar ofta en SHA-256-kontrollsumma bredvid sina filer. När du har laddat ner filen öppnar du läget Filer, släpper filen och klistrar in det publicerade värdet i jämförelsefältet. En matchning bevisar att filen inte skadades under nedladdningen och är identisk med den som utgivaren hashade. Den bevisar däremot inte att utgivaren är pålitlig. För det måste själva kontrollsumman komma från en betrodd källa, till exempel en HTTPS-webbplats eller en signerad release.

Så hanteras stora filer

Filerna läses lokalt och laddas aldrig upp. Filer upp till 64 MB hashas i ett svep med webbläsarens inbyggda Web Crypto API. Större filer läses i bitar om 4 MB och matas till inkrementella hashfunktioner, så minnesanvändningen förblir jämn och filer på flera gigabyte kan hashas. På en vanlig dator kan du räkna med några hundra megabyte per sekund för SHA-256.

Text, teckenkodning och radslut

En hash beräknas på byte, inte på tecken. Verktyget kodar text som UTF-8, standarden på webben och i de flesta programmeringsspråk. Får du ett annat resultat någon annanstans ska du leta efter dolda skillnader: en avslutande radbrytning (echo "abc" | sha256sum hashar abc\n, använd echo -n), radslut från Windows (\r\n) eller en annan kodning, som UTF-16. Tänk på att å, ä och ö tar två byte var i UTF-8.

Vanliga frågor

Kan jag använda MD5 eller SHA-1 för att lagra lösenord?

Nej, och inte heller ren SHA-256. De här funktionerna är gjorda för att vara snabba, så en angripare kan testa miljarder gissningar per sekund. Lösenord kräver en långsam algoritm med salt, som Argon2, bcrypt eller scrypt.

Är MD5 fortfarande användbart?

Ja, för att upptäcka oavsiktlig skada, hitta dubbletter av filer eller jämföra mot en gammal lista med kontrollsummor. Du kan inte lita på MD5 mot avsiktlig manipulation, eftersom vem som helst kan skapa två olika filer med samma MD5.

Laddas mina filer upp?

Nej. Filerna läses och hashas av din webbläsare. Ingenting skickas till en server, så du kan hasha konfidentiella dokument.

Varför stämmer min hash inte med den från kommandoraden?

Indata skiljer sig nästan alltid: en avslutande radbrytning, mellanslag, radslut eller teckenkodning. För filer ska du kontrollera att nedladdningen är fullständig. En enda saknad byte ger en helt annan hash.

Vad är skillnaden mellan hexadecimal och Base64-utdata?

Det är två sätt att skriva samma byte. Hexadecimal är det vanliga formatet för kontrollsummor. Base64 är kortare och används till exempel i attribut för Subresource Integrity (sha256-…). Jämförelsefältet accepterar båda.