Spring til indhold

MD5 Hash Generator Online - Gratis MD5 Krypteringsværktøj

Generer MD5 hashes øjeblikkeligt med vores gratis online værktøj. Behandling på klientsiden sikrer privatliv. Perfekt til integritetskontrol af data og filverifikation.

MD5 Hash Generator

Indlæsningsberegner...
📚

Dokumentation

Hvad er en MD5-hashgenerator?

En MD5-hashgenerator er et værktøj, der omdanner et vilkårligt stykke tekst til en kode med fast længde, kaldet en MD5-hash. MD5 står for Message-Digest Algorithm 5, en hashfunktion, der blev offentliggjort i 1992. Et ord, en sætning eller en hel fil giver altid det samme resultat på 32 tegn, og selv en meget lille ændring i inputtet giver et helt andet resultat. Værktøjet kører algoritmen direkte i browseren ved hjælp af JavaScript, så den indtastede tekst aldrig sendes til en server.

Sådan fungerer MD5-hashing

MD5 er en envejsfunktion. Den tager et input af vilkårlig længde og producerer et output af fast størrelse, kaldet en hash eller digest. »Envejs« betyder, at processen ikke kan vendes: Der findes ingen metode til at rekonstruere den oprindelige tekst ud fra hashen alene.

Algoritmen behandler data i følgende trin:

  1. Meddelelsen konverteres til bytes og udfyldes, så dens længde er et multiplum af 512 bit.
  2. Et felt på 64 bit, der angiver den oprindelige meddelelses længde, føjes til.
  3. Fire tal på 32 bit indstilles til faste begyndelsesværdier.
  4. Den udfyldte meddelelse opdeles i blokke på 512 bit. Hver blok gennemløber fire runder med 16 operationer, altså 64 operationer pr. blok. Hver operation blander blokkens data ind i de fire løbende tal ved hjælp af bitvise funktioner, addition og bitrotation.
  5. Når hver blok er behandlet, sættes de fire tal på 32 bit sammen og skrives som hexadecimale cifre.

Resultatet er altid 128 bit langt og vises som 32 hexadecimale tegn (0-9 og a-f), fordi hver byte i outputtet på 128 bit skrives som to hexadecimale cifre.

En hashfunktion anses for sikker, når den har tre egenskaber: Det samme input giver altid det samme output, det er upraktisk at finde et input, der frembringer en bestemt hash, og det er upraktisk at finde to forskellige input, der frembringer den samme hash. MD5 har stadig den første egenskab, men de to andre er blevet brudt, som beskrevet nedenfor.

Eksempel på en MD5-hash

Hashing af ordet »hello« med MD5 giver:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

Hashing af en tom streng giver også et fast resultat, der ikke er tomt, fordi udfyldningen og længdefeltet stadig behandles af algoritmen:

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

Hvis et enkelt tegn ændres, f.eks. ved at skrive det første bogstav med stort begyndelsesbogstav som i »Hello«, fremkommer en helt anden streng på 32 tegn. Dette kaldes lavineeffekten: Små ændringer i inputtet medfører store, uforudsigelige ændringer i outputtet.

Sådan bruger du denne MD5-hashgenerator

  1. Skriv eller indsæt tekst i inputfeltet.
  2. Hashen vises automatisk under feltet og opdateres, når teksten ændres. Der skal ikke trykkes på en separat knap.
  3. Klik på »Copy« for at kopiere hashen på 32 tegn til udklipsholderen.
  4. En lille farvet bjælke vises under resultatet. Den genereres ud fra en del af hashen og fungerer som et hurtigt visuelt tjek af, om to hasher er forskellige.

Da beregningen foregår i browserens egen JavaScript-motor, behøver siden ikke en internetforbindelse, efter at den er indlæst, og den indtastede tekst sendes ikke noget sted hen.

Almindelige anvendelser af MD5-hashes

  • Kontrol af, at en downloadet fil ikke blev beskadiget under overførslen, ved at sammenligne dens hash med en offentliggjort værdi.
  • Oprettelse af opslagselementer eller cacheidentifikatorer for data, eftersom en hash er en kort værdi med fast størrelse, der repræsenterer en længere værdi.
  • Registrering af duplikerede filer ved at sammenligne hashes i stedet for hele filindholdet.
  • Versionsstyrings- og byggesystemer, der bruger hashes til at registrere, om en fil er blevet ændret.

MD5 er ikke egnet til lagring af adgangskoder, generering af digitale signaturer eller andre tilfælde, hvor en angriber kan forsøge at forfalske eller vende hashen. Årsagerne beskrives i næste afsnit.

MD5-historiens udvikling

Ronald Rivest, en amerikansk kryptograf, designede MD5 i 1991 som efterfølger til sin tidligere algoritme MD4. Internet Engineering Task Force offentliggjorde specifikationen som RFC 1321 i (3.360 cm) 1992, og MD5 blev udbredt til kontrolsummer og i en periode også til sikkerhedsformål.

Svagheder i MD5s interne struktur blev konstateret allerede i 1996. I 2004 viste et hold ledet af kryptografen Xiaoyun Wang en praktisk metode til at skabe to forskellige input, der giver den samme MD5-hash, en fejl der kaldes en kollision. I 2008 brugte en anden forskergruppe et kollisionsangreb til at forfalske et bedragerisk sikkerhedscertifikat til et websted, som datidens browsere ville have accepteret som ægte. Disse resultater fik organisationer, der fastsætter sikkerhedsstandarder, til at ophøre med at anbefale MD5 til formål, hvor forfalskning har betydning.

MD5s sikkerhedssvagheder

  • Kollisionsmodstanden er brudt. Det er beregningsmæssigt praktisk muligt at konstruere to forskellige input med den samme MD5-hash.
  • Hastigheden er en ulempe ved adgangskoder. MD5 blev designet til at beregne hurtigt, hvilket er nyttigt til kontrolsummer, men dårligt til lagring af adgangskoder, fordi det gør det muligt for en angriber at afprøve milliarder af gæt pr. sekund på almindelig hardware.
  • Der er ikke offentligt kendt noget præbilledangreb, der er hurtigere end brute force, så det er stadig vanskeligt at genskabe et nøjagtigt input ud fra en hash, men dette gør ikke i sig selv MD5 egnet til sikkerhedsfølsom brug.

På grund af disse problemer er MD5 uegnet til lagring af adgangskoder, digitale signaturer, SSL/TLS-certifikater eller andre anvendelser, hvor nogen med vilje kan forsøge at frembringe en matchende hash.

Alternativer til MD5

  • SHA-256, som er en del af SHA-2-familien, producerer en hash på 256 bit og har ingen kendt praktisk kollisionsangreb.
  • SHA-3, en nyere standard baseret på en anden intern udformning end SHA-2.
  • BLAKE2, en hurtig hashfunktion med en sikkerhed, der anses for at kunne sammenlignes med SHA-3.
  • Bcrypt, scrypt eller Argon2, som er designet specifikt til lagring af adgangskoder, eftersom de med vilje er langsomme og modstandsdygtige over for hardwareaccelererede gæt.

Ofte stillede spørgsmål

Hvad bruges MD5 til i dag?

Primært ikke-sikkerhedsrelaterede opgaver som kontrol af filintegritet, deduplikering og cache-nøgler. Det anbefales ikke længere til adgangskoder, signaturer eller certifikater.

Kan en MD5-hash vendes for at få den oprindelige tekst?

Nej. MD5 er en envejsfunktion, så der findes ingen beregning, der omdanner en hash tilbage til dens input. En angriber kan stadig gætte sandsynlige input og beregne hashen for hvert af dem for at se, om et af dem matcher, og derfor er MD5 usikker til adgangskoder.

Hvorfor er MD5 usikker til lagring af adgangskoder?

Fordi den beregnes meget hurtigt, kan en angriber med moderne hardware afprøve enorme mængder adgangskodegæt pr. sekund. Specialudviklede algoritmer som bcrypt, scrypt eller Argon2 er med vilje langsomme for at modstå dette.

Hvor lang er en MD5-hash?

Altid 128 bit, vist som 32 hexadecimale tegn, uanset hvor lang eller kort inputteksten er.

Kan to forskellige input frembringe den samme MD5-hash?

Ja. Dette kaldes en kollision, og forskere har siden 2004 vist praktiske metoder til at konstruere sådanne par. Dette er den vigtigste årsag til, at MD5 ikke længere anses for sikker.

Sender dette værktøj den indtastede tekst til en server?

Nej. Hashen beregnes af JavaScript, der kører i browseren, og inputtet forlader aldrig enheden.

Hvad er forskellen mellem MD5 og SHA-256?

Begge er hashfunktioner, men SHA-256 producerer en længere hash på 256 bit og har ingen kendt praktisk kollisionsangreb, mens MD5s kollisionsmodstand er brudt. SHA-256 er det bedre valg, når sikkerhed har betydning.

Referencer

  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. m.fl. (2008). »MD5 Considered Harmful Today: Creating a Rogue CA Certificate.« Præsenteret ved den 25. 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