MD5-hashgenerator

Beräkna det 128 bitar långa MD5-hashvärdet för text, hexbyte eller en fil. Hashvärdet uppdateras medan du skriver, och fältet Jämför med visar om det stämmer med den kontrollsumma du förväntade dig.

Alla algoritmer

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Skriv eller klistra in text, välj Hex under Indata som för att hasha hexbyte, eller klicka på Öppna fil för att hasha filens exakta byte.
  2. Låt Teckenkodning stå kvar på UTF-8, om inte det ursprungliga hashvärdet beräknades från text i en annan teckenuppsättning.
  3. Under Utdata som väljer du hex (gemener), HEX (versaler) eller Base64.
  4. För att kontrollera en nedladdning klistrar du in den publicerade MD5-kontrollsumman i fältet Jämför med och ser efter att det står Stämmer.

Vad är MD5?

MD5 (Message-Digest Algorithm 5) konstruerades av Ronald Rivest och publicerades 1992 som RFC 1321. Algoritmen läser indatan i block om 512 bitar och ger ett hashvärde på 128 bitar, som oftast skrivs som 32 hexadecimala tecken eller 24 Base64-tecken. Samma indata ger alltid samma hashvärde, och om en enda bit i indatan ändras, ändras ungefär hälften av bitarna i utdatan.

Hashning är envägs: det finns ingen nyckel och inget sätt att "dekryptera" ett MD5-hashvärde tillbaka till indatan. Webbplatser som påstår att de kan vända MD5 slår upp hashvärdet i enorma tabeller med hashade ord och läckta lösenord, och därför hittas det osaltade MD5-hashvärdet för ett kort lösenord ofta på några sekunder.

Är MD5 fortfarande säkert?

Inte mot en angripare. Xiaoyun Wang och hennes kolleger publicerade praktiska kollisioner 2004: två olika indata med samma MD5. Därefter kom kollisioner med valt prefix (chosen-prefix): forskare använde en sådan 2008 för att skapa ett falskt CA-certifikat, och 2012 använde skadeprogrammet Flame en för att förfalska ett certifikat som fick dess kod att se ut att vara signerad av Microsoft. I dag hittar en vanlig bärbar dator en MD5-kollision på några sekunder, och RFC 6151 slår fast att MD5 inte längre är godtagbart där kollisionsresistens krävs, till exempel för digitala signaturer.

MD5 duger fortfarande som kontrollsumma mot oavsiktliga skador, som en ofullständig nedladdning eller en enstaka bit som har ändrats på disken, och som cachenyckel eller för deduplicering av betrodd data. När filen eller dess kontrollsumma kan komma från en angripare använder du SHA-256 i stället.

Hex, Base64 och hashvärden som inte stämmer

MD5 skrivs normalt ut som hex, och det är också vad md5sum visar. Vissa protokoll skickar i stället de 16 råa byten i Base64, till exempel HTTP-headern Content-MD5 som används av API:er för molnlagring som Amazon S3. Välj Base64 under Utdata som, eller konvertera ett befintligt värde med Hex till Base64.

Om din MD5 skiljer sig från ett annat verktygs är det indatans byte som skiljer sig. De vanligaste orsakerna är en avslutande radbrytning, Windows-radslut eller en annan teckenkodning: "café" är 5 byte i UTF-8 men 4 byte i ISO-8859-1, så de två hashvärdena har ingenting gemensamt.

$ echo "hello" | md5sum      # hashar "hello\n"
b1946ac92492d2347c6235b4d2611184  -
$ printf 'hello' | md5sum    # hashar "hello"
5d41402abc4b2a76b9719d911017c592  -

MD5 på kommandoraden och i kod

md5sum file.iso                          # Linux
md5 file.iso                             # macOS
certutil -hashfile file.iso MD5          # Windows
Get-FileHash file.iso -Algorithm MD5     # PowerShell

# Python
import hashlib
hashlib.md5('hello'.encode('utf-8')).hexdigest()

// Node.js
require('crypto').createHash('md5').update('hello', 'utf8').digest('hex')

Webbläsarnas inbyggda Web Crypto API har inget stöd för MD5, så den här sidan beräknar MD5 med JavaScript på din enhet; inget laddas upp. Tabellen Alla algoritmer under resultatet visar SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 och CRC-32C för samma indata.

Exempel

Indata (UTF-8)MD5
Hello, World!65a8e27d8879283831b664bd8b7f0ad4
Base64.is2e3c0e8b828164a8db7f62146ca87e14
你好7eca689f0d3389d9dea66ae112e5cfd7

Vanliga frågor

Kan ett MD5-hashvärde dekrypteras?
Nej. MD5 är en envägs hashfunktion, inte kryptering, så det finns inget att dekryptera; en "MD5-dekrypterare" kan bara returnera indata som redan finns i dess tabeller. Om du behöver få tillbaka originaldatan senare ska du kryptera den i stället, eller, om den inte behöver hållas hemlig, koda den med Base64, som går att vända helt och hållet.
Räcker MD5 för att verifiera en nedladdning?

MD5 upptäcker oavsiktlig skada på ett tillförlitligt sätt. Men eftersom kollisioner är billiga kan den som förbereder en fil i förväg skapa en andra, annorlunda fil med samma MD5. För nedladdningar där säkerheten spelar roll bör du kontrollera ett SHA-256-hashvärde från en betrodd källa, eller en signatur.

Hur långt är ett MD5-hashvärde?
128 bitar, alltså 16 byte: 32 tecken i hex eller 24 tecken i Base64 som slutar med ==. En hexsträng på 32 tecken kan också vara MD4 eller ett NTLM-hashvärde; verktyget Identifiera hashtyp listar de möjliga algoritmerna.
Kan jag beräkna MD5 för en stor fil?
Ja. Klicka på Öppna fil så hashas filens byte i webbläsaren utan att laddas upp. Gränsen är det minne som webbläsaren kan använda, så filer på flera gigabyte hashas hellre med md5sum eller certutil.
Bör jag lagra lösenord som MD5?
Nej. MD5 är utformat för att vara snabbt, så ett enda grafikkort testar miljarder gissningar per sekund. Lagra lösenord med Argon2id, scrypt, bcrypt eller PBKDF2, som lägger till ett salt och är avsiktligt långsamma. Med lösenordsgeneratorn skapar du starka lösenord från början.