MurmurHash3F maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 18 d. 00:28:03 UTC
Maišos kodo skaičiuotuvas, kuris naudoja MurmurHash3F maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.MurmurHash3F 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, pvz., maišos lentelėms, žydėjimo filtrams ir duomenų dubliavimo sistemoms.
Šiame puslapyje pateiktas variantas yra 3F variantas, optimizuotas 64 bitų sistemoms. Jis sukuria 128 bitų (16 baitų) maišos kodus, paprastai vaizduojamas kaip 32 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 MurmurHash3F 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ę LEGO kaladėlių dėžę. 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 tortą į 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).