Miklix

Kalkulator zgoščene kode MurmurHash3A

Objavljeno: 18. februar 2025 ob 12:39:40 dop. UTC
Nazadnje posodobljeno: 12. januar 2026 ob 1:33:11 pop. UTC

Kalkulator zgoščevalne kode, ki uporablja zgoščevalno funkcijo MurmurHash3A za izračun zgoščevalne kode na podlagi vnosa besedila ali nalaganja datoteke.

Ta stran je bila strojno prevedena iz angleščine, da bi bila dostopna čim večjemu številu ljudi. Žal strojno prevajanje še ni popolna tehnologija, zato lahko pride do napak. Če želite, si lahko izvirno angleško različico ogledate tukaj:

MurmurHash3A Hash Code Calculator

MurmurHash3 je nekriptografska zgoščevalna funkcija, ki jo je leta 2008 zasnoval Austin Appleby. Zaradi svoje hitrosti, preprostosti in dobrih distribucijskih lastnosti se pogosto uporablja za splošno zgoščevanje. Funkcije MurmurHash so še posebej učinkovite za podatkovne strukture, ki temeljijo na zgoščevanju, kot so zgoščevalne tabele, Bloomovi filtri in sistemi za deduplikacijo podatkov.

Različica, predstavljena na tej strani, je različica 3A, ki je optimizirana za 32-bitne sisteme. Ustvari 32-bitne (4-bajtne) zgoščevalne kode, običajno predstavljene kot 8-mestno šestnajstiško število.

Razkritje: nisem napisal posebne izvedbe funkcije hash, uporabljene na tej strani. Gre za standardno funkcijo, ki je vključena v programski jezik PHP. Zaradi priročnosti sem pripravil le spletni vmesnik, da je na voljo javnosti.


Izračunajte novo koda Hash

Podatki, poslani prek tega obrazca, ali datoteke, naložene prek tega obrazca, bodo v strežniku shranjeni le toliko časa, kolikor je potrebno za generiranje zahtevane kode hash. Izbrisani bodo takoj, preden se rezultat vrne v vaš brskalnik.

Vhodni podatki:



Poslano besedilo je kodirano v UTF-8. Ker funkcije hash delujejo na binarnih podatkih, bo rezultat drugačen, kot če bi bilo besedilo v drugem kodiranju. Če morate izračunati hash besedila v določenem kodiranju, morate namesto tega naložiti datoteko.



O algoritmu MurmurHash3A Hash

Nisem matematik, vendar bom poskušal razložiti to zgoščevalno funkcijo z analogijo, ki jo lahko razumejo moji kolegi nematematičarji. Če imate raje znanstveno pravilno, popolno matematično razlago, jo boste zagotovo našli drugje ;-)

Predstavljajte si, da imate veliko škatlo LEGO kock. Vsakič, ko jih razporedite na določen način, posnamete fotografijo. Ne glede na to, kako velika ali barvita je razporeditev, vam fotoaparat vedno posname majhno fotografijo fiksne velikosti. Ta fotografija predstavlja vašo LEGO stvaritev, vendar v kompaktni obliki.

MurmurHash3 naredi nekaj podobnega s podatki. Vzame poljubne podatke (besedilo, številke, datoteke) in jih skrči na majhen, fiksen "prstni odtis" ali zgoščevalno vrednost. Ta prstni odtis pomaga računalnikom hitro prepoznati, razvrstiti in primerjati podatke, ne da bi morali pogledati celotno stvar.

Druga analogija bi bila peka torte, MurmurHash3 pa je recept, s katerim to torto spremenimo v majhen kolaček (hash). To bi bil postopek v treh korakih:

1. korak: Razrez na koščke (razbijanje podatkov)

  • Najprej MurmurHash3 razreže vaše podatke na enake kose, kot če bi torto razrezal na enakomerne kvadrate.

2. korak: Mešajte kot noro (mešajte koščke)

  • Vsak kos gre skozi divji postopek mešanja: Obračanje: Kot pri obračanju palačinke se koščki prerazporedijo. Mešanje: Doda naključne sestavine (matematične operacije), da se stvari premešajo. Stiskanje: Stisne podatke skupaj, da se zagotovi, da noben originalni kos ne izstopa.

3. korak: Končni test okusa (finalizacija)

  • Po mešanju vseh kosov MurmurHash3 še enkrat premeša, da zagotovi, da bo tudi najmanjša sprememba v prvotnih podatkih popolnoma spremenila okus (hash).

Nadaljnje branje

Če vam je bila ta objava všeč, vam bodo morda všeč tudi ti predlogi:


Delite na BlueskyDelite na FacebookuDelite na LinkedInuDelite na TumblrDelite na XDelite na LinkedInuPripni na Pinterest

Mikkel Christensen

O avtorju

Mikkel Christensen
Mikkel je avtor in lastnik spletne strani miklix.com. Ima več kot 20 let izkušenj kot profesionalni računalniški programer/razvijalec programske opreme in je trenutno za polni delovni čas zaposlen v veliki evropski IT korporaciji. Kadar ne piše bloga, svoj prosti čas posveča številnim interesom, hobijem in dejavnostim, kar se do neke mere odraža v raznolikosti tem na tem spletnem mestu.