Miklix

MD2 Hash-codecalculator

Gepubliceerd: 16 februari 2025 om 22:38:33 UTC

Hashcodecalculator die de hashfunctie van Message Digest 2 (MD2) gebruikt om een hashcode te berekenen op basis van tekstinvoer of geüpload bestand.

Deze pagina is machinaal uit het Engels vertaald om hem voor zoveel mogelijk mensen toegankelijk te maken. Helaas is machinevertaling nog geen geperfectioneerde technologie, dus er kunnen fouten optreden. Als je dat liever hebt, kun je hier de originele Engelse versie bekijken:

MD2 Hash Code Calculator

De MD2 (Message Digest 2) hashfunctie is een cryptografische hashfunctie die in 1989 door Ronald Rivest is ontworpen. Deze is speciaal geoptimaliseerd voor 8-bits computers. Hoewel deze nu als verouderd en onveilig voor cryptografische doeleinden wordt beschouwd, is deze hier opgenomen voor het geval dat men een achterwaarts compatibele hashcode moet berekenen. Deze mag niet worden gebruikt 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.


Nieuwe Hashcode berekenen

Gegevens die via dit formulier worden verzonden of bestanden die via dit formulier worden geüpload, worden niet langer op de server bewaard dan nodig is om de gevraagde hashcode te genereren. Ze worden onmiddellijk verwijderd voordat het resultaat naar uw browser wordt teruggestuurd.

Invoergegevens:



De ingediende tekst is UTF-8 gecodeerd. Aangezien hashfuncties werken op binaire gegevens, zal het resultaat anders zijn dan wanneer de tekst in een andere codering zou zijn. Als je een hash moet berekenen van een tekst in een specifieke codering, moet je in plaats daarvan een bestand uploaden.



Over het MD2-hashalgoritme

Ik ben redelijk goed in simpele wiskunde, maar niet extreem goed en beschouw mezelf absoluut niet als wiskundige, dus ik zal proberen uit te leggen hoe deze hashfunctie werkt in termen die niet-wiskundigen kunnen begrijpen. Als je de volledige wiskundige versie prefereert, is die makkelijk genoeg te vinden op veel andere plekken op het web ;-)

Stel je nu voor dat je een recept hebt dat alle ingrediënten (jouw boodschap) neemt en ze altijd in precies één kleine, 16-delige chocoladereep (de hasj) verandert. Het maakt niet uit wat je ingrediënten zijn of hoe groot of klein ze zijn, je eindigt altijd met dezelfde grootte chocoladereep.

Het doel van dit recept is dat:

  1. Je kunt de ingrediënten niet raden door alleen naar de chocolade te kijken.
  2. Zelfs een kleine verandering in de ingrediënten zorgt ervoor dat de chocolade compleet anders smaakt. Zo weet je of iemand met de ingrediënten of het recept heeft geknoeid.

Het maken van de chocolade reep bestaat uit drie stappen:


Stap 1: De boodschap opvullen (de ingrediënten passend maken)

Stel dat je een mand hebt met precies 16 appels (of ingrediënten). Maar wat als je maar 14 appels hebt? Dan moet je er nog 2 toevoegen om de mand te vullen. Als je tekort komt, voeg je gewoon extra appels toe. Bijvoorbeeld:

  • Als je er nog twee nodig hebt, voeg je er twee appels aan toe.
  • Als je er meer dan 16 hebt, moet je de volgende mand vullen. Bijvoorbeeld, als je er 28 hebt, tel je er vier bij op om 32 te krijgen (twee keer 16).

Zo weten we zeker dat elk mandje gevuld is voordat we naar de volgende stap gaan.


Stap 2: Een controlegetal toevoegen (geheime ingrediëntenlijst)

Nu maken we een geheime ingrediëntenlijst op basis van alles wat in het winkelmandje zit.

  • Je doorloopt elke mand, bekijkt de appels en schrijft voor elke appel een geheime code op.
  • Dit is niet zomaar een kopie. Het is alsof je getallen op een vreemde manier optelt. Als iemand dan stiekem een appel verwisselt, ziet de lijst er nog steeds verkeerd uit.

Met deze lijst kunt u controleren of er later niet met de ingrediënten is geknoeid.


Stap 3: Alles mengen (de Magic Blender)

Nu komt het leukste gedeelte: het mixen!

  • U hebt een blender met 48 sleuven.
  • Je gooit erin:
    1. De appels (jouw bericht).
    2. Een oud mengsel van eerder (begint leeg voor de eerste batch).
    3. Een mix van de eerste twee dingen.

Dan mix je het. Maar niet één keer. Je mixt het 18 keer, waarbij je de snelheid en richting elke ronde verandert. Dit is geen normaal mixen - elke ronde roert het mengsel op een speciale manier, zodat zelfs één andere appel de hele chocolade anders laat smaken.


De laatste chocolade reep (de hasj)

Na al dat mengen giet je alleen de bovenste 16 stukjes van het mengsel eruit. Dat is je uiteindelijke chocoladereep - de MD2 hash. Het lijkt totaal niet op de originele appels, en als je de originele ingrediënten alleen op basis van de chocolade zou proberen te raden, zou je dat nooit kunnen.

Herinneren:

  • Dezelfde ingrediënten = dezelfde chocolade.
  • Eén appel vervangen = compleet andere chocolade.
  • Je kunt niet teruggaan naar de tijd. Je kunt de originele appels niet herkennen aan de hand van alleen de chocolade.
Delen op BlueskyDelen op FacebookDelen op LinkedInDelen op TumblrDelen op XDelen op LinkedInPin op Pinterest

Mikkel Bang Christensen

Over de auteur

Mikkel Bang Christensen
Mikkel is de bedenker en eigenaar van miklix.com. Hij heeft meer dan 20 jaar ervaring als professioneel computerprogrammeur/softwareontwikkelaar en werkt momenteel fulltime voor een groot Europees IT-bedrijf. Als hij niet blogt, besteedt hij zijn vrije tijd aan een breed scala aan interesses, hobby's en activiteiten, die tot op zekere hoogte weerspiegeld kunnen worden in de verscheidenheid aan onderwerpen op deze website.