MD5 Hash-codecalculator
Gepubliceerd: 16 februari 2025 om 23:01:11 UTC
Hashcodecalculator die de hashfunctie van Message Digest 5 (MD5) gebruikt om een hashcode te berekenen op basis van tekstinvoer of geüpload bestand.MD5 Hash Code Calculator
MD5 (Message Digest Algorithm 5) is een veelgebruikte cryptografische hashfunctie die een 128-bits (16-byte) hashwaarde produceert, die doorgaans wordt weergegeven als een hexadecimaal getal van 32 tekens. Het werd in 1991 ontworpen door Ronald Rivest en wordt veel gebruikt om de integriteit van gegevens te verifiëren. Hoewel het op het moment van schrijven al een aantal jaar niet meer geschikt werd geacht voor beveiligingsdoeleinden, lijkt het nog steeds wijdverbreid te worden gebruikt als een bestandsintegriteitscontrole. 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 mede-niet-wiskundigen kunnen begrijpen. Als je de voorkeur geeft aan de meer precieze, wiskundige uitleg, kun je die op veel andere websites vinden ;-)
Hoe dan ook, stel je voor dat MD5 een soort superslimme blender is. Je stopt er allerlei soorten voedsel (je data) in - zoals fruit, groenten of zelfs een pizza - en als je op de knop drukt, krijg je altijd hetzelfde soort smoothie: een "smoothiecode" van 32 tekens (de MD5-hash in hexadecimale vorm).
- Als je elke keer precies dezelfde ingrediënten gebruikt, krijg je precies dezelfde smoothiecode.
- Maar als je ook maar één klein dingetje verandert (zoals een extra snufje zout), dan ziet de smoothie er compleet anders uit.
Hoe werkt de "Blender" van binnen?
Hoewel het magisch lijkt, is MD5 in de blender druk bezig met hakken, mixen en centrifugeren:
- Chop: Hiermee worden uw gegevens in kleine stukjes verdeeld (zoals bij het hakken van fruit).
- Mixen: De stukken worden gemengd met behulp van een geheim recept (wiskundige regels) waardoor alles door elkaar wordt gehusseld.
- Blend: Hiermee wordt alles supersnel gemixt tot een vreemde code die totaal niet op het origineel lijkt.
Het maakt niet uit of u één woord of een heel boek invoert, MD5 geeft u altijd een code van 32 tekens.
MD5 was vroeger erg veilig, maar slimme mensen kwamen erachter hoe ze de blender konden misleiden. Ze vonden manieren om twee verschillende recepten (twee verschillende bestanden) te maken die op de een of andere manier dezelfde smoothiecode opleveren. Dit wordt een botsing genoemd.
Stel je voor dat iemand je een smoothiecode geeft met de tekst "dit is een gezonde fruitsmoothie", maar als je hem drinkt, is het eigenlijk iets heel anders. Daarom is MD5 niet langer veilig voor dingen als wachtwoorden of beveiliging.
Sommige mensen blijven beweren dat het prima is voor bestandsintegriteitscontroles en soortgelijke doeleinden, maar één ding dat je echt niet wilt in een bestandsintegriteitscontrole is een botsing, omdat de hash dan lijkt alsof twee bestanden hetzelfde zijn, ook al zijn ze dat niet. Dus zelfs voor zaken die niets met beveiliging te maken hebben, 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.
Natuurlijk heb ik daar ook een rekenmachine voor: SHA-256 Hash-codecalculator .