MurmurHash3A maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 18 d. 00:39:24 UTC
Maišos kodo skaičiuotuvas, kuris naudoja MurmurHash3A maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.MurmurHash3A Hash Code Calculator
„MurmurHash3“ yra nekriptografinė maišos funkcija, kurią 2008 m. sukūrė Austin Appleby. Dėl greičio, paprastumo ir gerų paskirstymo savybių ji plačiai naudojama bendrosios paskirties maišai. „MurmurHash“ funkcijos yra ypač veiksmingos maišos duomenų struktūroms, tokioms kaip maišos lentelės, žydėjimo filtrai ir duomenų dubliavimo sistemos.
Šiame puslapyje pateiktas variantas yra 3A variantas, optimizuotas 32 bitų sistemoms. Jis sukuria 32 bitų (4 baitų) maišos kodus, paprastai vaizduojamas 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ą gali suprasti mano kolegos ne matematikai. Jei jums labiau patinka moksliškai teisingas, išsamus matematikos paaiškinimas, aš tikiu, kad jį rasite kitur ;-)
Dabar įsivaizduokite, kad turite didelę dėžę LEGO kaladėlių. Kiekvieną kartą, kai išdėstote juos tam tikru būdu, fotografuojate. Nesvarbu, koks didelis ar spalvingas išdėstymas, fotoaparatas visada pateikia mažą, fiksuoto dydžio nuotrauką. Ši nuotrauka vaizduoja jūsų LEGO kūrinį, bet kompaktiškos formos.
„MurmurHash3“ daro kažką panašaus su duomenimis. Jis paima bet kokius duomenis (tekstą, skaičius, failus) ir sumažina juos iki mažo, fiksuoto „piršto atspaudo“ arba maišos reikšmės. Šis pirštų atspaudas padeda kompiuteriams greitai atpažinti, rūšiuoti ir palyginti duomenis, nereikia peržiūrėti viso dalyko.
Kita analogija būtų kaip pyrago kepimas, o „MurmurHash3“ yra receptas, kaip tą pyragą paversti mažu keksiuku (maiša). Tai būtų trijų etapų procesas:
1 veiksmas: supjaustykite į gabalus (duomenų suskaidymas)
- Pirma, „MurmurHash3“ supjausto jūsų duomenis į lygias dalis, pavyzdžiui, supjausto pyragą į lygius kvadratus.
2 veiksmas: maišykite kaip pamišęs (gabalų maišymas)
- Kiekvienas gabalas pereina laukinį maišymo procesą:
- Vartymas: kaip ir blyno vartymas, jis pertvarko gabaliukus.
- Maišymas: prideda atsitiktinių ingredientų (matematinių operacijų), kad viskas susimaišytų.
- Gniuždymas: suspaudžia duomenis, kad įsitikintų, jog jokia originali dalis neišsiskiria.
3 veiksmas: galutinis skonio testas (užbaigimas)
- Sumaišęs visus gabalus, MurmurHash3 paskutinį kartą pamaišo, kad įsitikintų, jog net ir menkiausias pradinių duomenų pasikeitimas visiškai pakeis skonį (maišos).