Kalkulator zgoščene kode MurmurHash3C
Objavljeno: 18. februar 2025 ob 12:34:24 dop. UTC
Kalkulator zgoščevalne kode, ki uporablja zgoščevalno funkcijo MurmurHash3C za izračun zgoščevalne kode na podlagi vnosa besedila ali nalaganja datoteke.MurmurHash3C 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 3C, ki je optimizirana za 32-bitne sisteme, enako kot različica 3A. Vendar pa za razliko od različice 3A proizvaja 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 MurmurHash3C
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 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 (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).