MurmurHash3C Hashkodekalkulator
Publisert: 18. februar 2025 kl. 00:34:11 UTC
Hash-kodekalkulator som bruker MurmurHash3C-hash-funksjonen til å beregne en hashkode basert på tekstinntasting eller filopplasting.MurmurHash3C Hash Code Calculator
MurmurHash3 er en ikke-kryptografisk hash-funksjon designet av Austin Appleby i 2008. Den er mye brukt for generell hashing på grunn av sin hastighet, enkelhet og gode distribusjonsegenskaper. MurmurHash-funksjoner er spesielt effektive for hash-baserte datastrukturer som hashtabeller, bloom-filtre og datadedupliseringssystemer.
Varianten som presenteres på denne siden er 3C-varianten, som er optimalisert for 32-bits systemer, på samme måte som 3A-varianten. I motsetning til 3A-varianten produserer den imidlertid 128-biters (16 byte) hash-koder, vanligvis representert som et 32-sifret heksadesimalt tall.
Full åpenhet: Jeg har ikke skrevet den spesifikke implementasjonen av hash-funksjonen som brukes på denne siden. Det er en standardfunksjon som følger med programmeringsspråket PHP. Jeg har bare laget webgrensesnittet for å gjøre den offentlig tilgjengelig her for enkelhets skyld.
Om MurmurHash3C Hash Algorithm
Jeg er ingen matematiker, men jeg skal prøve å forklare denne hash-funksjonen ved å bruke en analogi som mine andre ikke-matematikere kan forstå. Hvis du foretrekker en vitenskapelig korrekt, fullstendig matematisk forklaring, er jeg sikker på at du kan finne den andre steder ;-)
Tenk deg nå at du har en stor boks med LEGO-klosser. Hver gang du arrangerer dem på en bestemt måte, tar du et bilde. Uansett hvor stort eller fargerikt arrangementet er, gir kameraet deg alltid et lite bilde i fast størrelse. Det bildet representerer LEGO-skapelsen din, men i en kompakt form.
MurmurHash3 gjør noe lignende med data. Den tar alle slags data (tekst, tall, filer) og krymper dem ned til et lite, fast "fingeravtrykk" eller hash-verdi. Dette fingeravtrykket hjelper datamaskiner raskt å identifisere, sortere og sammenligne data uten å måtte se på hele greia.
En annen analogi vil være som å bake en kake, og MurmurHash3 er oppskriften på å gjøre den kaken om til en liten cupcake (hash). Dette vil være en tre-trinns prosess:
Trinn 1: Hakk i stykker (bryt dataene)
- Først deler MurmurHash3 dataene dine i like store biter, som å kutte kaken i jevne firkanter.
Trinn 2: Mix Like Crazy (Mixing the Chunks)
- Hver del går gjennom en vill blandingsprosess:
- Vende: Som å snu en pannekake, omorganiserer den bitene.
- Omrøring: Legger til tilfeldige ingredienser (matematiske operasjoner) for å blande ting.
- Squishing: Presser dataene sammen for å sikre at ingen originaldel skiller seg ut.
Trinn 3: Endelig smakstest (avslutning)
- Etter å ha blandet alle bitene, gir MurmurHash3 den en siste omrøring for å sikre at selv den minste smule av endring i de originale dataene totalt endrer smaken (hashen).