MurmurHash3F Hash-kodeberegner
Udgivet: 18. februar 2025 kl. 00.27.47 UTC
Hash-kodeberegner, der bruger MurmurHash3F-hash-funktionen til at beregne en hashkode baseret på tekstinput eller filupload.MurmurHash3F Hash Code Calculator
MurmurHash3 er en ikke-kryptografisk hash-funktion designet af Austin Appleby i 2008. Den bruges i vid udstrækning til hashing til generelle formål på grund af dens hastighed, enkelhed og gode distributionsegenskaber. MurmurHash-funktioner er særligt effektive til hash-baserede datastrukturer som hashtabeller, bloomfiltre og datadeduplikeringssystemer.
Varianten præsenteret på denne side er 3F varianten, som er optimeret til 64 bit systemer. Den producerer 128 bit (16 byte) hash-koder, typisk repræsenteret som et 32-cifret hexadecimalt tal.
Fuld åbenhed: Jeg har ikke skrevet den specifikke implementering af den hash-funktion, der bruges på denne side. Det er en standardfunktion, der følger med programmeringssproget PHP. Jeg har kun lavet webgrænsefladen for at gøre den offentligt tilgængelig her for nemheds skyld.
Om MurmurHash3F Hash-algoritmen
Jeg er ikke matematiker, men jeg vil prøve at forklare denne hash-funktion ved hjælp af en analogi, som mine andre ikke-matematikere kan forstå. Hvis du foretrækker en videnskabeligt korrekt, komplet matematisk forklaring, er jeg sikker på, at du kan finde den andre steder ;-)
Forestil dig nu, at du har en stor kasse med LEGO klodser. Hver gang du arrangerer dem på en bestemt måde, tager du et billede. Uanset hvor stort eller farverigt arrangementet er, giver kameraet dig altid et lille billede i fast størrelse. Det billede repræsenterer din LEGO-kreation, men i en kompakt form.
MurmurHash3 gør noget lignende med data. Det tager enhver form for data (tekst, tal, filer) og krymper det ned til et lille, fast "fingeraftryk" eller hashværdi. Dette fingeraftryk hjælper computere med hurtigt at identificere, sortere og sammenligne data uden at skulle se på det hele.
En anden analogi ville være som at bage en kage, og MurmurHash3 er opskriften på at forvandle den kage til en lille cupcake (hash). Dette ville være en tre-trins proces:
Trin 1: Hak i stykker (bryde dataene)
- Først skærer MurmurHash3 dine data i lige store bidder, som at skære kagen i lige firkanter.
Trin 2: Mix Like Crazy (Mixing the Chunks)
- Hvert stykke gennemgår en vild blandingsproces:
- Vende: Ligesom at vende en pandekage, omarrangerer den stykkerne.
- Omrøring: Tilføjer tilfældige ingredienser (matematiske operationer) for at blande tingene sammen.
- Squishing: Presser dataene sammen for at sikre, at intet originalt stykke skiller sig ud.
Trin 3: Endelig smagstest (afslutning)
- Efter at have blandet alle bidderne, giver MurmurHash3 det en sidste omrøring for at sikre, at selv den mindste smule af ændring i de originale data totalt ville ændre smagen (hash).