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