Miklix

MurmurHash3C հեշ կոդի Հաշվիչ

Հրապարակվել է՝ 18 փետրվարի, 2025 թ., 00:36:22 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 13:32:28 UTC

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

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

MurmurHash3C Hash Code Calculator

MurmurHash3-ը ոչ կրիպտոգրաֆիկ հեշ ֆունկցիա է, որը մշակվել է Օսթին Էփլբիի կողմից 2008 թվականին: Այն լայնորեն օգտագործվում է ընդհանուր նշանակության հեշավորման համար՝ իր արագության, պարզության և լավ բաշխման հատկությունների շնորհիվ: MurmurHash ֆունկցիաները հատկապես արդյունավետ են հեշի վրա հիմնված տվյալների կառուցվածքների համար, ինչպիսիք են հեշ աղյուսակները, Bloom ֆիլտրերը և տվյալների կրկնօրինակման համակարգերը:

Այս էջում ներկայացված տարբերակը 3C տարբերակն է, որը օպտիմալացված է 32 բիթային համակարգերի համար, ինչպես 3A տարբերակը։ Սակայն, ի տարբերություն 3A տարբերակի, այն արտադրում է 128 բիթային (16 բայթ) հեշ կոդեր, որոնք սովորաբար ներկայացված են որպես 32 նիշանոց տասնվեցական թիվ։

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


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

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

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



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



MurmurHash3C հեշ ալգորիթմի մասին

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

Հիմա պատկերացրեք, որ ունեք LEGO խորանարդիկների մեծ տուփ։ Ամեն անգամ, երբ դրանք դասավորում եք որոշակի ձևով, լուսանկարում եք։ Անկախ նրանից, թե որքան մեծ կամ գունագեղ է դասավորությունը, տեսախցիկը միշտ ձեզ տալիս է փոքր, ֆիքսված չափի լուսանկար։ Այդ լուսանկարը ներկայացնում է ձեր LEGO ստեղծագործությունը, բայց կոմպակտ տեսքով։

MurmurHash3-ը նմանատիպ բան է անում տվյալների հետ։ Այն վերցնում է ցանկացած տեսակի տվյալ (տեքստ, թվեր, ֆայլեր) և կրճատում այն մինչև փոքր, ֆիքսված «մատնահետքի» կամ հեշ արժեքի։ Այս մատնահետքը օգնում է համակարգիչներին արագորեն նույնականացնել, տեսակավորել և համեմատել տվյալները՝ առանց ամբողջը նայելու անհրաժեշտության։

Մեկ այլ համեմատություն կլինի տորթ թխելը, և MurmurHash3-ը այդ տորթը փոքրիկ կեքսի (հեշի) վերածելու բաղադրատոմսն է։ Սա կլինի երեք քայլից բաղկացած գործընթաց.

Քայլ 1. Կտրատել կտորների (տվյալների կոտրում)

  • Նախ, MurmurHash3-ը կտրատում է ձեր տվյալները հավասար կտորների, ինչպես տորթը կտրում է հավասար քառակուսիների։

Քայլ 2. Խառնել խելագարի պես (կտորները խառնելով)

  • Յուրաքանչյուր կտոր անցնում է վայրի խառնման գործընթացի միջով՝ շրջել. Ինչպես նրբաբլիթը շրջելիս, այն վերադասավորում է կտորները։ Խառնել. Ավելացնում է պատահական բաղադրիչներ (մաթեմատիկական գործողություններ)՝ իրերը խառնելու համար։ Սեղմել. Սեղմեք տվյալները միասին՝ համոզվելու համար, որ ոչ մի բնօրինակ կտոր չի առանձնանում։

Քայլ 3. Վերջնական համային փորձարկում (Ավարտականացում)

  • Բոլոր կտորները խառնելուց հետո, MurmurHash3-ը վերջին անգամ խառնում է այն՝ համոզվելու համար, որ սկզբնական տվյալների նույնիսկ ամենափոքր փոփոխությունը լիովին կփոխի համը (հեշը):

Լրացուցիչ ընթերցանություն

Եթե ​​ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.


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

Միկել Քրիստենսեն

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

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