Miklix

MurmurHash3A Kalkulator hash koda

Objavljeno: 18. veljače 2025. u 00:41:51 UTC

Kalkulator hash koda koji koristi hash funkciju MurmurHash3A za izračunavanje hash koda na temelju unosa teksta ili učitavanja datoteke.

Ova je stranica strojno prevedena s engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, strojno prevođenje još nije usavršena tehnologija pa se mogu pojaviti pogreške. Ako želite, izvornu englesku verziju možete pogledati ovdje:

MurmurHash3A Hash Code Calculator

MurmurHash3 je nekriptografska hash funkcija koju je osmislio Austin Appleby 2008. Široko se koristi za raspršivanje opće namjene zbog svoje brzine, jednostavnosti i dobrih svojstava distribucije. Funkcije MurmurHash posebno su učinkovite za podatkovne strukture temeljene na hash-u kao što su hash-tablice, bloom filtri i sustavi deduplikacije podataka.

Varijanta predstavljena na ovoj stranici je varijanta 3A, koja je optimizirana za 32-bitne sustave. Proizvodi 32-bitne (4 bajta) hash kodove, obično predstavljene kao 8-znamenkasti heksadecimalni broj.

Potpuno otkrivanje: nisam napisao konkretnu implementaciju hash funkcije koja se koristi na ovoj stranici. To je standardna funkcija uključena u PHP programski jezik. Napravio sam samo web sučelje da bude javno dostupno ovdje radi praktičnosti.


Izračunajte novi hash kod

Podaci dostavljeni ili datoteke učitane putem ovog obrasca čuvat će se na poslužitelju samo onoliko dugo koliko je potrebno za generiranje traženog hash koda. Bit će izbrisan neposredno prije nego što se rezultat vrati u vaš preglednik.

Ulazni podaci:



Poslani tekst je UTF-8 kodiran. Budući da hash funkcije rade na binarnim podacima, rezultat će biti drugačiji nego da je tekst u drugom kodiranju. Ako trebate izračunati hash teksta u određenom kodiranju, trebali biste prenijeti datoteku.



O MurmurHash3A hash algoritmu

Nisam matematičar, ali pokušat ću objasniti ovu hash funkciju koristeći analogiju koju moji kolege ne-matematičari mogu razumjeti. Ako više volite znanstveno ispravno, potpuno matematičko objašnjenje, siguran sam da ga možete pronaći negdje drugdje ;-)

Sada zamislite da imate veliku kutiju LEGO kockica. Svaki put kad ih posložite na određeni način, slikate se. Bez obzira koliko velik ili šaren bio raspored, fotoaparat vam uvijek daje malu fotografiju fiksne veličine. Ta fotografija predstavlja vašu LEGO kreaciju, ali u kompaktnom obliku.

MurmurHash3 radi nešto slično s podacima. Uzima bilo koju vrstu podataka (tekst, brojeve, datoteke) i smanjuje ih na mali, fiksni "otisak prsta" ili hash vrijednost. Ovaj otisak prsta pomaže računalima da brzo identificiraju, sortiraju i uspoređuju podatke bez potrebe da gledaju cijelu stvar.

Druga bi analogija bila poput pečenja kolača, a MurmurHash3 je recept za pretvaranje tog kolača u mali kolač (hašiš). To bi bio proces u tri koraka:

1. korak: nasjeckajte na komade (razbijanje podataka)

  • Prvo MurmurHash3 reže vaše podatke na jednake dijelove, poput rezanja kolača na jednake kvadrate.

Korak 2: Miksajte kao ludi (miješanje komadića)

  • Svaki komad prolazi kroz divlji proces miješanja:
    • Okretanje: Poput okretanja palačinke, mijenja raspored komadića.
    • Miješanje: Dodaje nasumične sastojke (matematičke operacije) za miješanje stvari.
    • Gnječenje: spaja podatke kako bi se osiguralo da se nijedan originalni komad ne ističe.

Korak 3: Završni test okusa (finalizacija)

  • Nakon miješanja svih komadića, MurmurHash3 još jednom promiješa kako bi osigurao da će čak i najmanja mrvica promjene u izvornim podacima potpuno promijeniti okus (hash).
Podijeli na BlueskyPodijelite na FacebookuPodijelite na LinkedInuPodijelite na TumblrPodijeli na XPodijelite na LinkedInuPrikvači na Pinterest

Mikkel Bang Christensen

O autoru

Mikkel Bang Christensen
Mikkel je kreator i vlasnik miklix.com. Ima više od 20 godina iskustva kao profesionalni računalni programer/razvijač softvera i trenutno je zaposlen na puno radno vrijeme za veliku europsku IT korporaciju. Kada ne piše blog, svoje slobodno vrijeme provodi na široku lepezu interesa, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme obrađene na ovoj web stranici.