Miklix

XXH-128 jaucējkoda kalkulators

Publicēts: 2025. gada 18. februāris 17:08:38 UTC

Jaucējkoda kalkulators, kas izmanto XXHash 128 bitu (XXH-128) jaukšanas funkciju, 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:

XXH-128 Hash Code Calculator

XXH, kas pazīstams arī kā XXHash, ir ātrs, nekriptogrāfisks jaukšanas algoritms, kas paredzēts augstai veiktspējai un efektivitātei, īpaši situācijās, kad ātrums ir kritisks, piemēram, datu saspiešanā, kontrolsummās un datu bāzes indeksēšanā. Šajā lapā piedāvātais variants rada 128 bitu (16 baitu) jaucējkodu, kas parasti tiek vizualizēts 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 XXH-128 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, pilnu matemātikas skaidrojumu, esmu pārliecināts, ka jūs to varat atrast citur ;-)

Mēģiniet iedomāties XXHash kā lielu blenderi. Jūs vēlaties pagatavot smūtiju, tāpēc pievienojiet virkni dažādu sastāvdaļu. Īpašais šajā blenderī ir tas, ka tas izdod vienāda izmēra smūtiju neatkarīgi no tā, cik daudz sastāvdaļu jūs to ievietojat, taču, veicot kaut nelielas izmaiņas sastāvdaļās, jūs iegūsit pilnīgi atšķirīgas garšas smūtiju.

1. darbība: datu sajaukšana

Uztveriet savus datus kā dažādu augļu ķekaru: ābolus, banānus, zemenes.

  • Jūs iemetiet tos blenderī.
  • Jūs tos sajaucat lielā ātrumā.
  • Neatkarīgi no tā, cik lieli bija augļi, jūs iegūstat mazu, labi sajauktu smūtiju.

2. darbība: slepenā mērce — maisot ar “maģiskiem” cipariem

Lai pārliecinātos, ka smūtijs (jaucējs) ir neparedzams, XXHash pievieno slepenu sastāvdaļu: lielus "maģiskos" skaitļus, ko sauc par pirmskaitļiem. Kāpēc pirmskaitļi?

  • Tie palīdz vienmērīgāk sajaukt datus.
  • Tie apgrūtina smūtija (jaucējkrāsu) sākotnējo sastāvdaļu (datu) reverso inženieriju.

3. darbība. Ātruma palielināšana: lielapjoma smalcināšana

XXHash ir ļoti ātrs, jo tā vietā, lai vienlaikus sasmalcinātu vienu augli, tas:

  • Sasmalcina lielas augļu grupas vienlaikus.
  • Tas ir tāpat kā izmantot milzu virtuves kombainu maza naža vietā.
  • Tas ļauj XXHash apstrādāt gigabaitus datu sekundē — lieliski piemērots lieliem failiem!

4. darbība: pēdējais pieskāriens: lavīnas efekts

Lūk, maģija:

  • Pat ja maināt tikai vienu sīkumu (piemēram, komatu teikumā), gala smūtijs garšo pavisam savādāk.
  • To sauc par lavīnas efektu:
    • Mazas izmaiņas = milzīgas atšķirības jaucējkodā.
    • Tas ir tāpat kā ūdenim pievienot pilienu pārtikas krāsvielas, un pēkšņi viss stikls maina krāsu.

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