Miklix

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

Š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:

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.


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

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.