Kalkulator zgoščene kode MurmurHash3F
Objavljeno: 18. februar 2025 ob 12:28:18 dop. UTC
Kalkulator zgoščevalne kode, ki uporablja zgoščevalno funkcijo MurmurHash3F za izračun zgoščevalne kode na podlagi vnosa besedila ali nalaganja datoteke.MurmurHash3F 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 3F, ki je optimizirana za 64-bitne sisteme. Izdela 128-bitne (16-bajtne) zgoščene kode, ki so običajno predstavljene kot 32-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 MurmurHash3F
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 počne 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 podobna peki torte in MurmurHash3 je recept za pretvorbo te torte v majhno torto (hašiš). To bi bil postopek v treh korakih:
1. korak: Sesekljajte na koščke (razbijanje 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).