Kalkulator zgoščene kode MurmurHash3A
Objavljeno: 18. februar 2025 ob 12:39:40 dop. UTC
Kalkulator zgoščevalne kode, ki uporablja zgoščevalno funkcijo MurmurHash3A za izračun zgoščevalne kode na podlagi vnosa besedila ali nalaganja datoteke.MurmurHash3A Hash Code Calculator
MurmurHash3 je nekriptografska zgoščevalna funkcija, ki jo je zasnoval Austin Appleby leta 2008. Široko se uporablja za splošno zgoščevanje zaradi svoje hitrosti, preprostosti in dobrih distribucijskih lastnosti. Funkcije MurmurHash so še posebej učinkovite za podatkovne strukture, ki temeljijo na zgoščevanju, kot so zgoščene 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. Izdela 32-bitne (4-bajtne) zgoščene kode, ki so 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.
O zgoščevalnem algoritmu MurmurHash3A
Nisem matematik, vendar bom poskušal razložiti to zgoščevalno funkcijo z analogijo, ki jo moji kolegi nematematiki lahko razumejo. Če imate raje znanstveno pravilno, celovito matematično razlago, sem prepričan, da jo lahko najdete drugje ;-)
Zdaj pa si predstavljajte, da imate veliko škatlo LEGO kock. Vsakič, ko jih razporedite na določen način, posnamete sliko. Ne glede na to, kako velik ali barvit je aranžma, vam fotoaparat vedno da majhno fotografijo fiksne velikosti. Ta fotografija predstavlja vašo kreacijo LEGO, vendar v kompaktni obliki.
MurmurHash3 naredi nekaj podobnega s podatki. Vzame vse vrste podatkov (besedilo, številke, datoteke) in jih skrči na majhen, fiksni "prstni odtis" ali zgoščeno vrednost. Ta prstni odtis pomaga računalnikom hitro prepoznati, razvrstiti in primerjati podatke, ne da bi morali pogledati vse.
Druga analogija bi bila kot peka torte in MurmurHash3 je recept za pretvorbo te torte v majhen kolaček (hašiš). To bi bil postopek v treh korakih:
1. korak: Sesekljajte na koščke (zločitev podatkov)
- MurmurHash3 najprej razreže vaše podatke na enake kose, kot bi torto razrezal na enake kvadratke.
2. korak: Mešajte kot nori (mešanje kosov)
- Vsak kos gre skozi divji postopek mešanja:
- Obračanje: kot pri obračanju palačinke, prerazporedi koščke.
- Mešanje: doda naključne sestavine (matematične operacije) za mešanje stvari.
- Mečkanje: Stisne podatke skupaj, da zagotovi, da noben originalni kos ne izstopa.
3. korak: končni preizkus okusa (finalizacija)
- Po mešanju vseh koščkov MurmurHash3 še enkrat premeša, da zagotovi, da bi tudi najmanjša drobtinica spremembe v izvirnih podatkih popolnoma spremenila okus (razpršeno mešanico).