Miklix

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ą.

Šis puslapis buvo mašininiu būdu išverstas iš anglų kalbos, kad juo galėtų naudotis kuo daugiau žmonių. Deja, mašininis vertimas dar nėra tobula technologija, todėl gali pasitaikyti klaidų. Jei pageidaujate, originalią versiją anglų kalba galite peržiūrėti čia:

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.


Apskaičiuokite naująjį slaptažodžių kodą

Šioje formoje pateikti duomenys arba įkelti failai serveryje bus saugomi tik tiek laiko, kiek reikia prašomam hash kodui sugeneruoti. Jie bus ištrinti prieš pat rezultatui grįžtant į naršyklę.

Įvesties duomenys:



Pateiktas tekstas yra UTF-8 koduotas. Kadangi hash funkcijos veikia su dvejetainiais duomenimis, rezultatas bus kitoks nei tuo atveju, jei tekstas būtų koduotas kitu kodu. Jei jums reikia apskaičiuoti teksto hash tam tikra kodavimo forma, vietoj to turėtumėte įkelti failą.



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).
Pasidalinkite „Bluesky“.Dalintis FacebookBendrinkite „LinkedIn“.Bendrinkite „Tumblr“.Dalintis XBendrinkite „LinkedIn“.Prisegti prie Pinterest

Mikkel Bang Christensen

Apie autorių

Mikkel Bang Christensen
Mikkelis yra miklix.com kūrėjas ir savininkas. Jis turi daugiau nei 20 metų profesionalaus kompiuterių programuotojo ir programinės įrangos kūrėjo patirtį ir šiuo metu visą darbo dieną dirba didelėje Europos IT korporacijoje. Kai jis nerašo tinklaraščio, laisvalaikį skiria įvairiems interesams, pomėgiams ir užsiėmimams, kurie tam tikra prasme gali atsispindėti šioje svetainėje nagrinėjamų temų įvairovėje.