Miklix

MurmurHash3A Hash-kodeberegner

Udgivet: 18. februar 2025 kl. 00.39.03 UTC
Sidst opdateret: 12. januar 2026 kl. 13.32.59 UTC

Hashkodeberegner, der bruger MurmurHash3A hashfunktionen til at beregne en hashkode baseret på tekstinput eller filupload.

Denne side er blevet maskinoversat fra engelsk for at gøre den tilgængelig for så mange mennesker som muligt. Desværre er maskinoversættelse endnu ikke en perfekt teknologi, så der kan forekomme fejl. Hvis du foretrækker det, kan du se den originale engelske version her:

MurmurHash3A 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 3A-varianten, som er optimeret til 32-bit systemer. Den producerer 32-bit (4 byte) hashkoder, typisk repræsenteret som et 8-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.


Beregn ny hash-kode

Data, der indsendes, eller filer, der uploades via denne formular, opbevares kun på serveren, så længe det tager at generere den ønskede hashkode. De slettes umiddelbart før resultatet returneres til din browser.

Input-data:



Den indsendte tekst er UTF-8-kodet. Da hashfunktioner opererer med binære data, vil resultatet være anderledes, end hvis teksten var i en anden kodning. Hvis du har brug for at beregne et hash af en tekst i en bestemt kodning, skal du uploade en fil i stedet.



Om MurmurHash3A 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:


Del på BlueskyDel på FacebookDel på LinkedInDel på TumblrDel på XDel på LinkedInFastgør på Pinterest

Mikkel Christensen

Om forfatteren

Mikkel Christensen
Mikkel er skaberen og ejeren af miklix.com. Han har over 20 års erfaring som professionel computerprogrammør/softwareudvikler og er i øjeblikket fuldtidsansat i en stor europæisk IT-virksomhed. Når han ikke blogger, bruger han sin fritid på en lang række interesser, hobbyer og aktiviteter, som i et vist omfang afspejles i de mange forskellige emner, der dækkes på dette websted.