Miklix

MurmurHash3C jaucējkoda kalkulators

Publicēts: 2025. gada 18. februāris 00:34:09 UTC

Jaucējkoda kalkulators, kas izmanto jaucējfunkciju MurmurHash3C, lai aprēķinātu jaucējkodu, pamatojoties uz teksta ievadi vai faila augšupielādi.

Šī lapa tika mašīntulkota no angļu valodas, lai padarītu to pieejamu pēc iespējas vairāk cilvēkiem. Diemžēl mašīntulkošana vēl nav pilnīga tehnoloģija, tāpēc tajā var rasties kļūdas. Ja vēlaties, oriģinālo versiju angļu valodā varat apskatīt šeit:

MurmurHash3C Hash Code Calculator

MurmurHash3 ir nekriptogrāfiska jaukšanas funkcija, ko 2008. gadā izstrādāja Ostins Eplbijs. Ātruma, vienkāršības un labo izplatīšanas īpašību dēļ to plaši izmanto vispārējas nozīmes jaukšanai. Funkcijas MurmurHash ir īpaši efektīvas uz jaucējkodiem balstītām datu struktūrām, piemēram, jaucēj tabulām, uzplaukuma filtriem un datu dedublikācijas sistēmām.

Šajā lapā piedāvātais variants ir 3C variants, kas ir optimizēts 32 bitu sistēmām, tāpat kā 3A variants. Tomēr atšķirībā no 3A varianta tas rada 128 bitu (16 baitu) jaucējkodus, kas parasti tiek attēloti kā 32 ciparu heksadecimālais skaitlis.

Pilnīga informācijas izpaušana: es neesmu rakstījis šajā lapā izmantotās hash funkcijas konkrēto implementāciju. Tā ir standarta funkcija, kas iekļauta PHP programmēšanas valodā. Es tikai izveidoju tīmekļa saskarni, lai padarītu to publiski pieejamu šeit ērtības labad.


Aprēķināt jaunu Hash kodu

Izmantojot šo veidlapu, iesniegtie dati vai augšupielādētie faili tiks glabāti serverī tikai tik ilgi, cik nepieciešams, lai ģenerētu pieprasīto hash kodu. Tie tiks dzēsti tūlīt pirms rezultāta atgriešanas pārlūkprogrammā.

Ieejas dati:



Iesniegtais teksts ir kodēts UTF-8 formātā. Tā kā hash funkcijas darbojas ar binārajiem datiem, rezultāts būs citāds nekā tad, ja teksts būtu citā kodējumā. Ja jums ir nepieciešams aprēķināt teksta hash īpašā kodējumā, tā vietā jums ir jānosūta fails.



Par MurmurHash3C hash algoritmu

Es neesmu matemātiķis, bet es mēģināšu izskaidrot šo jaucējfunkciju, izmantojot analoģiju, ko var saprast mani kolēģi, kas nav matemātiķi. Ja vēlaties zinātniski pareizu, pilnīgu matemātikas skaidrojumu, esmu pārliecināts, ka jūs to varat atrast citur ;-)

Tagad iedomājieties, ka jums ir liela kaste ar LEGO klucīšiem. Katru reizi, kad tos sakārtojat noteiktā veidā, jūs uzņemat attēlu. Neatkarīgi no tā, cik liels vai krāsains ir izkārtojums, kamera vienmēr nodrošina mazu, fiksēta izmēra fotoattēlu. Šajā fotoattēlā ir attēlots jūsu LEGO radījums, taču kompaktā formā.

MurmurHash3 dara kaut ko līdzīgu ar datiem. Tas aizņem jebkāda veida datus (tekstu, skaitļus, failus) un samazina tos līdz mazam, fiksētam "pirkstu nospiedumam" vai jaucējvērtībai. Šis pirkstu nospiedums palīdz datoriem ātri identificēt, kārtot un salīdzināt datus bez nepieciešamības aplūkot visu.

Vēl viena līdzība varētu būt kā kūkas cepšana, un MurmurHash3 ir recepte, kā pārvērst šo kūku par mazu kūciņu (jašs). Tas būtu trīs posmu process:

1. darbība: sagrieziet gabalos (datu sadalīšana)

  • Pirmkārt, MurmurHash3 sagriež jūsu datus vienādos gabalos, piemēram, sagriežot kūku vienmērīgos kvadrātos.

2. darbība: sajauciet kā traks (sajaukt gabaliņus)

  • Katrs gabals iziet savvaļas sajaukšanas procesu:
    • Pārvēršana: tāpat kā pankūkas apvēršana, tā pārkārto gabaliņus.
    • Maisīšana: pievieno nejaušas sastāvdaļas (matemātiskās darbības), lai sajauktu lietas.
    • Squishing: saspiež datus kopā, lai pārliecinātos, ka neviens oriģinālais elements neizceļas.

3. darbība: galīgā garšas pārbaude (pabeigšana)

  • Pēc visu gabalu sajaukšanas MurmurHash3 to pēdējo reizi samaisa, lai nodrošinātu, ka pat vissīkākās sākotnējo datu izmaiņas pilnībā maina garšu (jaucēju).

Kopīgojiet pakalpojumā BlueskyKopīgot FacebookKopīgojiet vietnē LinkedInKopīgojiet vietnē TumblrKopīgot vietnē XKopīgojiet vietnē LinkedInPiespraust vietnē Pinterest

Mikkel Bang Christensen

Par autoru

Mikkel Bang Christensen
Mikels ir miklix.com radītājs un īpašnieks. Viņam ir vairāk nekā 20 gadu pieredze kā profesionālam programmētājam/programmatūras izstrādātājam, un pašlaik viņš strādā pilna laika darbu lielā Eiropas IT korporācijā. Kad viņš neraksta blogus, viņš pavada brīvo laiku, pievēršoties dažādām interesēm, hobijiem un aktivitātēm, kas zināmā mērā var atspoguļoties šajā tīmekļa vietnē aplūkoto tēmu daudzveidībā.