MurmurHash3A maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 18 d. 00:39:24 UTC
Paskutinį kartą atnaujinta: 2026 m. sausio 12 d. 13:33:06 UTC
MurmurHash3A Hash Code Calculator
„MurmurHash3“ yra nekriptografinė maišos funkcija, kurią 2008 m. sukūrė Austin Appleby. Ji plačiai naudojama bendrosios paskirties maišai dėl savo greičio, paprastumo ir gerų paskirstymo savybių. „MurmurHash“ funkcijos yra ypač veiksmingos maišos pagrindu sukurtoms duomenų struktūroms, tokioms kaip maišos lentelės, „bloom“ filtrai ir duomenų deduplikacijos sistemos.
Šiame puslapyje pateiktas 3A variantas yra optimizuotas 32 bitų sistemoms. Jis sukuria 32 bitų (4 baitų) maišos kodus, paprastai pateikiamus kaip 8 skaitmenų šešioliktainis skaičius.
Visiškai atskleidžiu informaciją: šiame puslapyje naudojamos hash funkcijos konkrečios realizacijos nerašiau. Tai standartinė PHP programavimo kalbos funkcija. Aš tik sukūriau žiniatinklio sąsają, kad patogumo dėlei ji būtų viešai prieinama.
Apie „MurmurHash3A“ maišos algoritmą
Nesu matematikas, bet pabandysiu paaiškinti šią maišos funkciją naudodamas analogiją, kurią suprastų mano kolegos ne matematikai. Jei norite moksliškai teisingo, išsamaus matematinio paaiškinimo, esu tikras, kad jį rasite kitur ;-)
Įsivaizduokite, kad turite didelę dėžę su LEGO kaladėlėmis. Kiekvieną kartą, kai jas išdėliojate tam tikru būdu, nufotografuojate. Nesvarbu, koks didelis ar spalvingas išdėstymas, fotoaparatas visada pateikia mažą, fiksuoto dydžio nuotrauką. Ta nuotrauka vaizduoja jūsų LEGO kūrinį, bet kompaktišku pavidalu.
„MurmurHash3“ atlieka panašų darbą su duomenimis. Jis paima bet kokio tipo duomenis (tekstą, skaičius, failus) ir suspaudžia juos iki mažo, fiksuoto „pirštų atspaudo“ arba maišos reikšmės. Šis pirštų atspaudas padeda kompiuteriams greitai identifikuoti, rūšiuoti ir palyginti duomenis, nereikia peržiūrėti viso rinkinio.
Kita analogija būtų tarsi kepti pyragą, o „MurmurHash3“ yra receptas, kaip tą pyragą paversti mažu keksiuku (maiša). Tai būtų trijų žingsnių procesas:
1 veiksmas: suskaidymas į dalis (duomenų analizavimas)
- Pirma, „MurmurHash3“ supjausto jūsų duomenis į lygias dalis, pavyzdžiui, tortą į lygius kvadratus.
2 veiksmas: sumaišykite kaip pašėlęs (gabalėlių sumaišymas)
- Kiekvienas gabalėlis patiria laukinį maišymo procesą: Vartymas: Kaip ir apverčiant blyną, gabalėliai pertvarkomi. Maišymas: Pridedami atsitiktiniai ingredientai (matematiniai veiksmai), kad viskas susimaišytų. Suspaudimas: Suspaudžia duomenis, kad joks originalus gabalėlis neišsiskirtų.
3 veiksmas: Galutinis skonio testas (užbaigimas)
- Sumaišius visus gabalėlius, „MurmurHash3“ dar kartą juos pamaišo, kad užtikrintų, jog net ir menkiausias pradinių duomenų pakeitimas visiškai pakeistų skonį (maišos).
Papildoma literatūra
Jei jums patiko šis įrašas, jums taip pat gali patikti šie pasiūlymai:
