Miklix

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

Maišos kodo skaičiuoklė, kuri naudoja „MurmurHash3A“ maišos funkciją maišos kodui apskaičiuoti pagal teksto įvestį arba įkeltą failą.

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


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


Pasidalinkite „Bluesky“.Dalintis FacebookBendrinkite „LinkedIn“.Bendrinkite „Tumblr“.Dalintis XBendrinkite „LinkedIn“.Prisegti prie Pinterest

Mikkel Christensen

Apie autorių

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