Miklix

MurmurHash3F jaucējkoda kalkulators

Publicēts: 2025. gada 18. februāris 00:28:05 UTC
Pēdējo reizi atjaunināts: 2026. gada 12. janvāris 13:31:20 UTC

Jaucējkoda kalkulators, kas izmanto MurmurHash3F jaucējfunkciju, 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:

MurmurHash3F Hash Code Calculator

MurmurHash3 ir nekriptogrāfiska heša funkcija, ko 2008. gadā izstrādāja Ostins Eplbijs. Tā tiek plaši izmantota vispārējas nozīmes hešēšanai, pateicoties tās ātrumam, vienkāršībai un labajām izplatīšanas īpašībām. MurmurHash funkcijas ir īpaši efektīvas uz heša balstītām datu struktūrām, piemēram, heša tabulām, "bloom" filtriem un datu deduplikācijas sistēmām.

Šajā lapā parādītais variants ir 3F variants, kas ir optimizēts 64 bitu sistēmām. Tas ģenerē 128 bitu (16 baitu) jaucējkodus, kas parasti tiek attēloti kā 32 ciparu heksadecimāls 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 MurmurHash3F jaucējkodu algoritmu

Es neesmu matemātiķis, bet 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ātisku skaidrojumu, esmu pārliecināts, ka 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 uzņem mazu, fiksēta izmēra fotoattēlu. Šis fotoattēls attēlo jūsu LEGO radījumu, bet kompaktā formātā.

MurmurHash3 dara kaut ko līdzīgu ar datiem. Tas ņem jebkāda veida datus (tekstu, skaitļus, failus) un samazina tos līdz nelielam, fiksētam "pirkstu nospiedumam" jeb heša vērtībai. Šis pirkstu nospiedums palīdz datoriem ātri identificēt, kārtot un salīdzināt datus, neaplūkojot visu sistēmu kopumā.

Cita analoģija būtu kā kūkas cepšana, un MurmurHash3 ir recepte, lai šo kūku pārvērstu nelielā kēksiņā (maizītē). Tas būtu trīs soļu process:

1. darbība: sadalīšana gabalos (datu apstrāde)

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

2. solis: Sajauciet kā traks (gabalu sajaukšana)

  • Katrs gabaliņš iziet cauri mežonīgam sajaukšanas procesam: Apgriešana: Tāpat kā apgriežot pankūku, tas pārkārto daļiņas. Maisīšana: Pievieno nejaušas sastāvdaļas (matemātiskas darbības), lai sajauktu lietas. Saspiešana: Saspiež datus kopā, lai pārliecinātos, ka neviens sākotnējais gabaliņš neizceļas.

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

  • Pēc visu gabalu sajaukšanas MurmurHash3 tos vēl pēdējo reizi samaisa, lai pārliecinātos, ka pat vismazākās izmaiņas sākotnējos datos pilnībā mainīs garšu (hašu).

Papildu lasāmviela

Ja jums patika šī ziņa, jums varētu patikt arī šie ieteikumi:


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

Mikkel Christensen

Par autoru

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