Miklix

JOAAT Hashcodecalculator

Gepubliceerd: 18 februari 2025 om 00:19:54 UTC
Laatst bijgewerkt: 12 januari 2026 om 13:30:31 UTC

Een hashcodecalculator die de Jenkins One At A Time (JOAAT) hashfunctie gebruikt om een hashcode te berekenen op basis van tekstinvoer of een 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:

JOAAT Hash Code Calculator

De JOAAT (Jenkins One At A Time) hashfunctie is een niet-cryptografische hashfunctie, ontworpen door Bob Jenkins, een bekende computerwetenschapper op het gebied van hashalgoritmen. Deze functie wordt veel gebruikt vanwege zijn eenvoud, snelheid en goede distributie-eigenschappen, waardoor hij effectief is voor het opzoeken in hashtabellen, het berekenen van checksums en het indexeren van gegevens. De functie genereert een 32-bits (4-byte) hashcode, die doorgaans wordt weergegeven als een hexadecimaal getal van 8 cijfers.

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 JOAAT-hashalgoritme

Ik ben geen wiskundige, maar ik zal proberen deze hashfunctie uit te leggen met een analogie die mijn niet-wiskundige medemensen kunnen begrijpen. Als je liever een wetenschappelijk correcte, volledig wiskundige uitleg wilt, kun je die vast wel elders vinden ;-)

Zie JOAAT als het maken van een speciale soep. Je hebt een lijst met ingrediënten (dit zijn je invoergegevens, zoals een woord of een bestand) en je wilt ze zo mengen dat zelfs als je maar één klein dingetje verandert – zoals een extra snufje zout toevoegen – de smaak van de soep volledig verandert. Deze "smaak" is je hashwaarde, een uniek getal dat je invoer vertegenwoordigt.

De JOAAT-functie doet dit in vier stappen:

Stap 1: Beginnen met een lege pot (initialisatie)

Je begint met een lege soeppan. In JOAAT begint deze "pan" met het getal 0.

Stap 2: Ingrediënten één voor één toevoegen (elke byte verwerken)

Voeg nu je ingrediënten één voor één toe. Stel je voor dat elke letter of elk cijfer in je gegevens een ander kruid in de pan is.

  • Voeg de kruiden toe (voeg de hoeveelheid die bij de letter hoort toe aan je pan).
  • Roer krachtig (versterk de smaak door een speciale roerbeweging te maken - dit is als een wiskundige "verschuiving").
  • Voeg een verrassend element toe (gooi er een snufje willekeurigheid in - dit is de XOR-bewerking, die helpt om de mix door elkaar te gooien).

Stap 3: De laatste geheime kruiden (laatste menging)

Nadat je alle ingrediënten hebt toegevoegd, roer je nog een paar keer in het geheim en voeg je wat kruiden toe om ervoor te zorgen dat de smaak onvoorspelbaar is. Dit is waar JOAAT nog een paar laatste mix- en roerstappen uitvoert om een uniek resultaat te garanderen.

Stap 4: Smaaktest (Uitkomst)

Tot slot proef je de soep - of in het geval van JOAAT krijg je een getal (de hashwaarde) dat de unieke smaak van je soep vertegenwoordigt. Zelfs de kleinste verandering in ingrediënten (zoals het veranderen van één letter in je invoer) levert een compleet andere smaak op (een totaal ander getal).

Verder lezen

Als je dit bericht leuk vond, vind je deze suggesties misschien ook interessant:


Delen op BlueskyDelen op FacebookDelen op LinkedInDelen op TumblrDelen op XDelen op LinkedInPin op Pinterest

Mikkel Christensen

Over de auteur

Mikkel 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.