Miklix

XXH-32 Hashcode-calculator

Gepubliceerd: 18 februari 2025 om 19:48:31 UTC

Hashcodecalculator die de XXHash 32-bits (XXH-32) hashfunctie 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:

XXH-32 Hash Code Calculator

XXH, ook bekend als XXHash, is een snel, niet-cryptografisch hash-algoritme dat is ontworpen voor hoge prestaties en efficiëntie, met name in situaties waarin snelheid cruciaal is, zoals bij gegevenscompressie, checksums en database-indexering. De variant die op deze pagina wordt gepresenteerd, produceert een 32-bits (4 byte) hashcode, die doorgaans wordt gevisualiseerd 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 XXH-32 Hash-algoritme

Ik ben geen wiskundige, maar ik zal proberen deze hashfunctie uit te leggen met behulp van een analogie die mijn mede-niet-wiskundigen kunnen begrijpen. Als u de voorkeur geeft aan een wetenschappelijk correcte, volledige wiskundige uitleg, dan weet ik zeker dat u die elders kunt vinden ;-)

Probeer je XXHash voor te stellen als een grote blender. Je wilt een smoothie maken, dus je voegt een heleboel verschillende ingrediënten toe. Het bijzondere aan deze blender is dat hij dezelfde grootte smoothie produceert, ongeacht hoeveel ingrediënten je erin stopt, maar als je ook maar een kleine verandering aanbrengt in de ingrediënten, krijg je een compleet andere smaak smoothie.

Stap 1: De gegevens mengen

Beschouw uw gegevens als een stel verschillende soorten fruit: appels, bananen, aardbeien.

  • Je gooit ze in een blender.
  • Je mixt ze op hoge snelheid.
  • Hoe groot de vruchten ook zijn, het eindresultaat is een kleine, goed gemixte smoothie.

Stap 2: De geheime saus - Roeren met "magische" getallen

Om ervoor te zorgen dat de smoothie (hash) onvoorspelbaar is, voegt XXHash een geheim ingrediënt toe: grote "magische" getallen, priemgetallen genoemd. Waarom priemgetallen?

  • Ze zorgen ervoor dat gegevens gelijkmatiger worden gemengd.
  • Ze maken het lastig om de originele ingrediënten (data) uit de smoothie (hash) te achterhalen.

Stap 3: Snelheidsboost: in bulk hakken

XXHash is supersnel omdat het niet fruit per keer snijdt, maar:

  • Snijdt grote hoeveelheden fruit in één keer.
  • Dit is alsof je een grote keukenmachine gebruikt in plaats van een klein mes.
  • Hierdoor kan XXHash gigabytes aan data per seconde verwerken: perfect voor grote bestanden!

Stap 4: Final Touch: Het Avalanche-effect

Dit is de magie:

  • Zelfs als je maar één klein dingetje verandert (bijvoorbeeld een komma in een zin), smaakt de smoothie uiteindelijk compleet anders.
  • Dit wordt het lawine-effect genoemd:
    • Kleine veranderingen = grote verschillen in de hash.
    • Het is alsof je een druppel voedingskleurstof aan water toevoegt en het hele glas plotseling van kleur verandert.

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.