Miklix

XXH-128 հեշ կոդի Հաշվիչ

Հրապարակվել է՝ 18 փետրվարի, 2025 թ., 17:10:03 UTC

Հեշ կոդի հաշվիչ, որն օգտագործում է XXHash 128 բիթ (XXH-128) հեշ ֆունկցիան՝ տեքստի մուտքագրման կամ ֆայլի վերբեռնման հիման վրա հեշ կոդը հաշվարկելու համար:

Այս էջը ավտոմատ կերպով թարգմանվել է անգլերենից՝ հնարավորինս շատ մարդկանց համար հասանելի դարձնելու համար: Ցավոք, մեքենայական թարգմանությունը դեռ կատարելագործված տեխնոլոգիա չէ, ուստի կարող են սխալներ առաջանալ: Եթե ​​նախընտրում եք, կարող եք դիտել բնօրինակ անգլերեն տարբերակը այստեղ.

XXH-128 Hash Code Calculator

XXH-ը, որը նաև հայտնի է որպես XXHash, արագ, ոչ կրիպտոգրաֆիկ հեշ ալգորիթմ է, որը նախատեսված է բարձր կատարողականության և արդյունավետության համար, հատկապես այն իրավիճակներում, որտեղ արագությունը կարևոր է, ինչպիսիք են տվյալների սեղմումը, ստուգիչ գումարները և տվյալների բազայի ինդեքսավորումը: Այս էջում ներկայացված տարբերակը արտադրում է 128 բիթ (16 բայթ) հեշ կոդ, որը սովորաբար արտացոլվում է որպես 32 նիշ տասնվեցական թիվ:

Ամբողջական բացահայտում. ես չեմ գրել այս էջում օգտագործվող հեշ ֆունկցիայի կոնկրետ իրականացումը: Այն ստանդարտ ֆունկցիա է, որը ներառված է PHP ծրագրավորման լեզվով: Ես միայն վեբ ինտերֆեյսը դարձրեցի, որպեսզի այն հանրությանը հասանելի դարձնեմ այստեղ՝ հարմարության համար:


Հաշվարկել նոր հեշ կոդը

Ներկայացված տվյալները կամ այս ձևի միջոցով վերբեռնված ֆայլերը կպահվեն սերվերում միայն այնքան ժամանակ, որքան պահանջվում է պահանջվող հեշ կոդը ստեղծելու համար: Այն կջնջվի անմիջապես նախքան արդյունքը ձեր դիտարկիչին վերադարձնելը:

Մուտքային տվյալներ.



Ներկայացված տեքստը UTF-8 կոդավորված է: Քանի որ հեշ ֆունկցիաները գործում են երկուական տվյալների վրա, արդյունքը տարբեր կլինի, քան եթե տեքստը լիներ մեկ այլ կոդավորման մեջ: Եթե ​​Ձեզ անհրաժեշտ է հաշվարկել տեքստի հեշը կոնկրետ կոդավորման մեջ, փոխարենը պետք է ֆայլ վերբեռնեք:



XXH-128 Hash ալգորիթմի մասին

Ես մաթեմատիկոս չեմ, բայց կփորձեմ բացատրել այս հեշ ֆունկցիան՝ օգտագործելով անալոգիա, որը կարող են հասկանալ իմ ոչ մաթեմատիկոս ընկերները: Եթե ​​դուք նախընտրում եք գիտականորեն ճիշտ, լիարժեք մաթեմատիկական բացատրություն, վստահ եմ, որ կարող եք դա գտնել այլուր ;-)

Փորձեք XXHash-ը պատկերացնել որպես մեծ բլենդեր։ Դուք ցանկանում եք սմուզի պատրաստել, ուստի ավելացնում եք տարբեր բաղադրիչների փունջ: Այս բլենդերի առանձնահատկությունն այն է, որ այն թողարկում է նույն չափի սմուզի, անկախ նրանից, թե քանի բաղադրիչ եք այն դնում, բայց եթե բաղադրիչներում նույնիսկ փոքր փոփոխություններ կատարեք, դուք կստանաք բոլորովին այլ համով սմուզի:

Քայլ 1. Տվյալների խառնում

Ձեր տվյալները պատկերացրեք որպես տարբեր մրգերի փունջ՝ խնձոր, բանան, ելակ:

  • Դուք դրանք գցում եք բլենդերի մեջ։
  • Դուք դրանք խառնում եք բարձր արագությամբ։
  • Անկախ նրանից, թե որքան մեծ են մրգերը, դուք ստանում եք փոքրիկ, լավ խառնված սմուզի:

Քայլ 2. Գաղտնի սոուս – խառնելով «կախարդական» թվերով

Համոզվելու համար, որ սմուզին (հեշը) անկանխատեսելի է, XXHash-ը ավելացնում է գաղտնի բաղադրիչ՝ մեծ «կախարդական» թվեր, որոնք կոչվում են պարզ թվեր: Ինչու՞ հիմնական բառերը:

  • Նրանք օգնում են ավելի հավասարաչափ խառնել տվյալները:
  • Նրանք դժվարացնում են բնօրինակ բաղադրիչների (տվյալների) հետադարձ նախագծումը սմուզիից (հեշ):

Քայլ 3. Արագության բարձրացում. Մեծաքանակ կտրում

XXHash-ը գերարագ է, քանի որ միաժամանակ մեկ միրգ կտրելու փոխարեն այն.

  • Միանգամից կտրատում ենք մրգերի մեծ խմբերը։
  • Սա նման է փոքր դանակի փոխարեն հսկա սննդի պրոցեսորի օգտագործմանը:
  • Սա թույլ է տալիս XXHash-ին կառավարել գիգաբայթ տվյալներ վայրկյանում` կատարյալ հսկայական ֆայլերի համար:

Քայլ 4. Վերջնական հպում. Ավալանշի էֆեկտ

Ահա կախարդանքը.

  • Նույնիսկ եթե դուք փոխեք ընդամենը մեկ փոքրիկ բան (ինչպես ստորակետը նախադասության մեջ), վերջնական սմուզին բոլորովին այլ համ ունի:
  • Սա կոչվում է ավալանշի էֆեկտ.
    • Փոքր փոփոխություններ = մեծ տարբերություններ հեշում:
    • Դա նման է ջրին մի կաթիլ սննդի ներկ ավելացնելուն, և հանկարծ ամբողջ բաժակը փոխում է գույնը:

Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

Միկել Բանգ Քրիստենսեն

Հեղինակի մասին

Միկել Բանգ Քրիստենսեն
Mikkel-ը miklix.com-ի ստեղծողն ու սեփականատերն է: Նա ունի ավելի քան 20 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: