MurmurHash3F Hash-kodeberegner
Udgivet: 18. februar 2025 kl. 00.27.47 UTC
Sidst opdateret: 12. januar 2026 kl. 13.31.13 UTC
MurmurHash3F Hash Code Calculator
MurmurHash3 er en ikke-kryptografisk hashfunktion designet af Austin Appleby i 2008. Den bruges i vid udstrækning til generel hashing på grund af dens hastighed, enkelhed og gode distributionsegenskaber. MurmurHash-funktioner er særligt effektive til hashbaserede datastrukturer som hashtabeller, bloomfiltre og datadeduplikeringssystemer.
Varianten, der præsenteres på denne side, er 3F-varianten, som er optimeret til 64-bit systemer. Den producerer 128-bit (16 byte) hashkoder, 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 forsøge at forklare denne hashfunktion ved hjælp af en analogi, som mine ikke-matematikerkolleger kan forstå. Hvis du foretrækker en videnskabeligt korrekt, fuldstændig matematisk forklaring, er jeg sikker på, at du kan finde den et andet sted ;-)
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 en lille, fast "fingeraftryks"- 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 (hashen). Dette ville være en proces i tre trin:
Trin 1: Opdel i stykker (dataene opdeles)
- Først opdeler MurmurHash3 dine data i lige store bidder, ligesom at skære kagen i lige store firkanter.
Trin 2: Bland som en gal (blander stykkerne)
- Hvert stykke gennemgår en vild blandeproces: Vending: Ligesom at vende en pandekage, omarrangerer det stykkerne. Omrøring: Tilføjer tilfældige ingredienser (matematiske operationer) for at blande tingene. Klemning: Presser dataene sammen for at sikre, at ingen af de originale stykker skiller sig ud.
Trin 3: Endelig smagstest (afslutning)
- Efter at have blandet alle stykkerne, rører MurmurHash3 det en sidste gang for at sikre, at selv den mindste ændring i de oprindelige data fuldstændigt ændrer smagen (hashen).
Yderligere læsning
Hvis du kunne lide dette indlæg, kan du måske også lide disse forslag:
