Miklix

MurmurHash3F Hashkodräknare

Publicerad: 18 februari 2025 kl. 00:28:19 UTC

Hashkodräknare som använder MurmurHash3F-hashfunktionen för att beräkna en hashkod baserat på textinmatning eller filuppladdning.

Denna sida har maskinöversatts från engelska för att göra den tillgänglig för så många som möjligt. Tyvärr är maskinöversättning ännu inte en fulländad teknik, så fel kan uppstå. Om du föredrar det kan du se den engelska originalversionen här:

MurmurHash3F Hash Code Calculator

MurmurHash3 är en icke-kryptografisk hashfunktion designad av Austin Appleby 2008. Den används ofta för allmän hash på grund av dess hastighet, enkelhet och goda distributionsegenskaper. MurmurHash-funktioner är särskilt effektiva för hashbaserade datastrukturer som hashtabeller, bloomfilter och datadedupliceringssystem.

Varianten som presenteras på denna sida är 3F-varianten, som är optimerad för 64-bitarssystem. Den producerar 128 bitars (16 byte) hashkoder, vanligtvis representerade som ett 32-siffrigt hexadecimalt tal.

Fullständig information: Jag har inte skrivit den specifika implementeringen av hashfunktionen som används på den här sidan. Det är en standardfunktion som ingår i programmeringsspråket PHP. Jag har bara gjort webbgränssnittet för att göra den allmänt tillgänglig här för enkelhetens skull.


Beräkna ny hashkod

Data som skickas eller filer som laddas upp via detta formulär kommer endast att sparas på servern så länge som det tar att generera den begärda hashkoden. De kommer att raderas omedelbart innan resultatet returneras till din webbläsare.

Ingångsdata:



Den skickade texten är UTF-8-kodad. Eftersom hashfunktioner arbetar med binära data kommer resultatet att bli annorlunda än om texten hade en annan kodning. Om du behöver beräkna en hash av en text i en specifik kodning bör du ladda upp en fil i stället.



Om MurmurHash3F Hash Algorithm

Jag är ingen matematiker, men jag ska försöka förklara denna hashfunktion med en analogi som mina andra icke-matematiker kan förstå. Om du föredrar en vetenskapligt korrekt, fullständig matematisk förklaring, är jag säker på att du kan hitta den någon annanstans ;-)

Föreställ dig nu att du har en stor låda med LEGO-klossar. Varje gång du arrangerar dem på ett specifikt sätt tar du en bild. Oavsett hur stort eller färgglatt arrangemanget är, ger kameran dig alltid ett litet foto i fast storlek. Det fotot representerar din LEGO-skapelse, men i en kompakt form.

MurmurHash3 gör något liknande med data. Den tar alla typer av data (text, siffror, filer) och krymper ner den till ett litet, fast "fingeravtryck" eller hashvärde. Detta fingeravtryck hjälper datorer att snabbt identifiera, sortera och jämföra data utan att behöva titta på det hela.

En annan analogi skulle vara som att baka en tårta och MurmurHash3 är receptet för att förvandla den kakan till en liten cupcake (hash). Detta skulle vara en process i tre steg:

Steg 1: Hacka i bitar (bryta data)

  • Först delar MurmurHash3 upp din data i lika stora bitar, som att skära kakan i jämna rutor.

Steg 2: Mixa som en galning (mixa bitarna)

  • Varje bit går igenom en vild blandningsprocess:
    • Vänd: Som att vända en pannkaka, arrangerar den om bitarna.
    • Omrörning: Lägger till slumpmässiga ingredienser (matematiska operationer) för att blanda ihop saker.
    • Squishing: Pressar ihop data för att se till att ingen originaldel sticker ut.

Steg 3: Final Taste Test (Finalisering)

  • Efter att ha blandat alla bitarna, ger MurmurHash3 det en sista omrörning för att säkerställa att även den minsta smulan av förändring i originaldatan totalt skulle förändra smaken (hash).

Dela på BlueskyDela på FacebookDela på LinkedInDela på TumblrDela på XDela på LinkedInFäst på Pinterest

Mikkel Bang Christensen

Om författaren

Mikkel Bang Christensen
Mikkel är skaparen och ägaren av miklix.com. Han har över 20 års erfarenhet som professionell datorprogrammerare/mjukvaruutvecklare och är för närvarande heltidsanställd på ett stort europeiskt IT-bolag. När han inte bloggar ägnar han sin fritid åt en mängd olika intressen, hobbies och aktiviteter, vilket i viss mån kan återspeglas i de olika ämnen som behandlas på den här webbplatsen.