MD5 Hash-codecalculator
Gepubliceerd: 16 februari 2025 om 23:01:11 UTC
Laatst bijgewerkt: 12 januari 2026 om 09:08:45 UTC
MD5 Hash Code Calculator
MD5 (Message Digest Algorithm 5) is een veelgebruikte cryptografische hashfunctie die een 128-bits (16-byte) hashwaarde produceert, meestal weergegeven als een hexadecimaal getal van 32 tekens. Het werd in 1991 ontworpen door Ronald Rivest en wordt vaak gebruikt om de integriteit van gegevens te controleren. Hoewel het op het moment van schrijven al jaren niet meer geschikt wordt geacht voor beveiligingsdoeleinden, lijkt het nog steeds veelvuldig gebruikt te worden als controle op de integriteit van bestanden. Ik zou echter aanraden om een van de vele betere alternatieven te gebruiken bij het ontwerpen van nieuwe systemen.
Full disclosure: Ik heb de specifieke implementatie van de hashfunctie die op deze pagina wordt gebruikt niet geschreven. Het is een standaardfunctie die wordt meegeleverd met de programmeertaal PHP. Ik heb alleen de webinterface gemaakt om hem hier voor het gemak publiekelijk beschikbaar te maken.
Over het MD5-hashalgoritme
Om de interne werking van een hashfunctie echt te begrijpen, moet je heel goed zijn in wiskunde, en dat ben ik niet, althans niet op dit niveau. Daarom zal ik proberen deze hashfunctie uit te leggen op een manier die mijn niet-wiskundige medemensen kunnen begrijpen. Als je de voorkeur geeft aan een meer precieze, wiskundige uitleg, kun je die op tal van andere websites vinden ;-)
Stel je voor dat MD5 een soort superslimme blender is. Je stopt er van alles in (jouw data) – zoals fruit, groenten of zelfs een pizza – en als je op de knop drukt, krijg je altijd dezelfde smoothie: een 32-tekens tellende "smoothiecode" (de MD5-hash in hexadecimale vorm).
- Als je elke keer precies dezelfde ingrediënten gebruikt, krijg je ook steeds dezelfde smoothiecode.
- Maar als je ook maar één klein dingetje verandert (zoals een extra snufje zout), dan is de smoothie-code compleet anders.
Hoe werkt de "blender" vanbinnen?
Hoewel het magisch lijkt, is MD5 binnenin de blender bezig met hakken, mixen en ronddraaien:
- Chop: Het verdeelt je gegevens in kleine stukjes (net zoals je fruit snijdt).
- Mixen: Het mengt de stukjes volgens een geheim recept (wiskundige regels) dat alles door elkaar schudt.
- Blend: Het laat alles razendsnel ronddraaien en vervormt het tot een vreemde code die totaal niet meer op het origineel lijkt.
Of je nu één woord of een heel boek invoert, MD5 geeft je altijd een code van 32 tekens.
MD5 was vroeger erg veilig, maar slimme mensen hebben een manier gevonden om Blender te omzeilen. Ze hebben methoden ontwikkeld om twee verschillende recepten (twee verschillende bestanden) te maken die op de een of andere manier dezelfde smoothiecode opleveren. Dit noemen we een botsing.
Stel je voor dat iemand je een code geeft voor een smoothie met de tekst "dit is een gezonde fruitsmoothie", maar als je hem drinkt, blijkt het iets heel anders te zijn. Daarom is MD5 niet langer veilig voor bijvoorbeeld wachtwoorden of beveiliging.
Sommige mensen beweren dat het prima is voor bestandsintegriteitscontroles en soortgelijke doeleinden, maar wat je absoluut wilt vermijden bij een bestandsintegriteitscontrole is een botsing, omdat de hash dan lijkt alsof twee bestanden hetzelfde zijn, terwijl dat niet zo is. Dus zelfs voor niet-beveiligingsgerelateerde zaken raad ik ten zeerste aan om een veiligere hashfunctie te gebruiken. Op het moment van schrijven is mijn standaard hashfunctie voor de meeste doeleinden SHA-256.
Uiteraard heb ik daar ook een rekenmachine voor: Link.
Verder lezen
Als je dit bericht leuk vond, vind je deze suggesties misschien ook interessant:
