Hoppa till innehåll

MD5 Hash Generator Online - Gratis MD5-krypteringsverktyg

Generera MD5-hashar direkt med vårt kostnadsfria onlineverktyg. Behandling på klientsidan säkerställer integritet. Perfekt för kontroll av dataintegritet och filverifiering.

MD5 Hash Generator

Laddningsberäknare...
📚

Dokumentation

Vad är en hashgenerator för MD5?

En hashgenerator för MD5 är ett verktyg som omvandlar valfri text till en kod med fast längd som kallas en MD5-hash. MD5 står för Message-Digest Algorithm 5, en hashfunktion som publicerades 1992. Om man matar in ett ord, en mening eller en hel fil blir resultatet alltid detsamma: en sträng med 32 tecken. Även en mycket liten ändring i indata ger ett helt annat resultat. Verktyget kör algoritmen direkt i webbläsaren med JavaScript, så den inskrivna texten skickas aldrig till en server.

Så fungerar hashning med MD5

MD5 är en enkelriktad funktion. Den tar emot indata av valfri längd och producerar utdata av fast storlek, kallad en hash eller ett meddelandesammandrag. ”Enkelriktad” betyder att processen inte kan vändas: det finns ingen metod för att återskapa originaltexten enbart från hashen.

Algoritmen bearbetar data i följande steg:

  1. Meddelandet omvandlas till byte och fylls ut så att längden blir en multipel av 512 bitar.
  2. Ett fält på 64 bitar, som anger meddelandets ursprungliga längd, läggs till.
  3. Fyra tal på 32 bitar sätts till fasta startvärden.
  4. Det utfyllda meddelandet delas upp i block på 512 bitar. Varje block går igenom fyra omgångar med 16 operationer, alltså 64 operationer per block. Varje operation blandar blockets data med de fyra löpande talen med hjälp av bitvisa funktioner, addition och bitrotation.
  5. När varje block har bearbetats sammanfogas de fyra talen på 32 bitar och skrivs ut som hexadecimala siffror.

Resultatet är alltid 128 bitar långt och visas som 32 hexadecimala tecken (0-9 och a–f), eftersom varje byte i utdata på 128 bitar skrivs som två hexadecimala siffror.

En hashfunktion anses säker när den har tre egenskaper: samma indata ger alltid samma utdata, det är opraktiskt att hitta indata som ger en vald hash, och det är opraktiskt att hitta två olika indata som ger samma hash. MD5 har fortfarande den första egenskapen, men de två andra har brutits, vilket beskrivs nedan.

Exempel på en hash med MD5

Hashning av ordet ”hello” med MD5 ger:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

Hashning av en tom sträng ger också ett fast resultat som inte är tomt, eftersom utfyllnaden och längdfältet fortfarande behandlas av algoritmen:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

Om ett enda tecken ändras, till exempel genom att den första bokstaven ändras till versal i ”Hello”, blir resultatet en helt annan sträng med 32 tecken. Detta kallas lavineffekten: små ändringar i indata orsakar stora och oförutsägbara ändringar i utdata.

Så använder man denna hashgenerator för MD5

  1. Skriv eller klistra in text i inmatningsfältet.
  2. Hashen visas automatiskt under rutan och uppdateras när texten ändras. Ingen separat knapp behöver tryckas ned.
  3. Klicka på ”Copy” för att kopiera hashen med 32 tecken till urklippet.
  4. En liten färgad stapel visas under resultatet. Den skapas utifrån en del av hashen och fungerar som en snabb visuell kontroll av att två hashvärden skiljer sig åt.

Eftersom beräkningen sker i webbläsarens egen JavaScript-motor behöver sidan ingen internetanslutning efter att den har lästs in, och den inskrivna texten skickas inte någonstans.

Vanliga användningsområden för hashvärden med MD5

  • Kontrollera att en nedladdad fil inte skadades under överföringen genom att jämföra dess hash med ett publicerat värde.
  • Skapa uppslagsnycklar eller cacheidentifierare för data, eftersom en hash är en kort representation med fast storlek av ett längre värde.
  • Upptäcka dubblettfiler genom att jämföra hashvärden i stället för hela filinnehållet.
  • Versionshantering och byggsystem, som använder hashvärden för att upptäcka om en fil har ändrats.

MD5 är inte lämpligt för lagring av lösenord, skapande av digitala signaturer eller något annat fall där en angripare kan försöka förfalska eller vända hashvärdet. Orsakerna beskrivs i nästa avsnitt.

MD5:s historia

Den amerikanske kryptografen Ronald Rivest utformade MD5 1991 som en efterföljare till sin tidigare algoritm MD4. Internet Engineering Task Force publicerade specifikationen som RFC 1321 (3 360 cm) 1992, och MD5 började användas brett för kontrollsummor och under en period även för säkerhetsändamål.

Svagheter i MD5:s interna struktur uppmärksammades redan 1996. 2004 visade en forskargrupp under ledning av kryptografen Xiaoyun Wang en praktiskt användbar metod för att skapa två olika indata som ger samma MD5-hash, en brist som kallas kollision. 2008 använde en annan forskargrupp en kollisionsattack för att förfalska ett bedrägligt säkerhetscertifikat för en webbplats, som dåtidens webbläsare skulle ha godkänt som äkta. Dessa resultat ledde till att organ för säkerhetsstandarder slutade rekommendera MD5 i sammanhang där förfalskning är relevant.

Säkerhetsbrister i MD5

  • Kollisionsresistensen är bruten. Det är beräkningsmässigt praktiskt möjligt att konstruera två olika indata med samma MD5-hash.
  • Hashens snabbhet är en nackdel för lösenord. MD5 utformades för att beräknas snabbt, vilket är användbart för kontrollsummor men olämpligt för lösenordslagring, eftersom en angripare kan prova miljarder gissningar per sekund med vanlig maskinvara.
  • Ingen offentligt känd attack hittar indata till en given hash snabbare än en råstyrkeattack, så det är fortfarande svårt att återskapa exakta indata från en hash. Detta räcker dock inte för att göra MD5 lämpligt för säkerhetskänslig användning.

På grund av dessa problem är MD5 olämpligt för lösenordslagring, digitala signaturer, SSL/TLS-certifikat och alla tillämpningar där någon avsiktligt kan försöka skapa en matchande hash.

Alternativ till MD5

  • SHA-256, som ingår i SHA-2-familjen, producerar en hash på 256 bitar och har ingen känd praktiskt användbar kollisionsattack.
  • SHA-3, en nyare standard som bygger på en annan intern konstruktion än SHA-2.
  • BLAKE2, en snabb hashfunktion med säkerhet som anses jämförbar med SHA-3.
  • Bcrypt, scrypt eller Argon2, som är särskilt utformade för lösenordslagring eftersom de medvetet är långsamma och motståndskraftiga mot gissningar som accelereras av maskinvara.

Vanliga frågor och svar

Vad används MD5 till i dag?

Främst för uppgifter som inte rör säkerhet, till exempel kontroll av filintegritet, deduplicering och cache-nycklar. Det rekommenderas inte längre för lösenord, signaturer eller certifikat.

Kan en MD5-hash vändas för att få fram originaltexten?

Nej. MD5 är en enkelriktad funktion, så det finns ingen beräkning som omvandlar en hash tillbaka till dess indata. En angripare kan fortfarande gissa sannolika indata och hasha varje gissning för att kontrollera om den matchar, vilket är anledningen till att MD5 är osäkert för lösenord.

Varför är MD5 osäkert för lagring av lösenord?

Eftersom beräkningen går mycket snabbt kan en angripare med modern maskinvara testa enormt många lösenordsgissningar per sekund. Algoritmer som bcrypt, scrypt och Argon2 är särskilt utformade för att vara långsamma och motstå detta.

Hur lång är en MD5-hash?

Alltid 128 bitar, visade som 32 hexadecimala tecken, oavsett hur lång eller kort indatatexten är.

Kan två olika indata ge samma MD5-hash?

Ja. Detta kallas en kollision, och forskare har visat praktiskt användbara metoder för att konstruera sådana par sedan 2004. Det är den främsta anledningen till att MD5 inte längre anses säkert.

Skickar verktyget den inskrivna texten till en server?

Nej. Hashen beräknas av JavaScript som körs i webbläsaren, och indata lämnar aldrig enheten.

Vad är skillnaden mellan MD5 och SHA-256?

Båda är hashfunktioner, men SHA-256 producerar en längre hash på 256 bitar och har ingen känd praktiskt användbar kollisionsattack, medan MD5:s kollisionsresistens är bruten. SHA-256 är det bättre valet när säkerheten är viktig.

Referenser

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). ”How to Break MD5 and Other Hash Functions.” Advances in Cryptology – EUROCRYPT 2005.
  4. Sotirov, A. med flera (2008). ”MD5 Considered Harmful Today: Creating a Rogue CA Certificate.” Presenterad vid den 25:e Chaos Communication Congress.
  5. National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf