Miklix

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

Հրապարակվել է՝ 18 փետրվարի, 2025 թ., 00:41:45 UTC

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

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

MurmurHash3A Hash Code Calculator

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

Այս էջում ներկայացված տարբերակը 3A տարբերակն է, որը օպտիմիզացված է 32 բիթ համակարգերի համար: Այն արտադրում է 32 բիթ (4 բայթ) հեշ կոդեր, որոնք սովորաբար ներկայացված են որպես 8 նիշանոց տասնվեցական թիվ:

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


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

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

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



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



MurmurHash3A Hash ալգորիթմի մասին

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

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

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

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

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

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

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

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

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

  • Բոլոր կտորները խառնելուց հետո MurmurHash3-ը վերջին անգամ խառնում է, որպեսզի համոզվի, որ սկզբնական տվյալների փոփոխության նույնիսկ ամենափոքր փշուրն ամբողջությամբ կփոխի համը (հեշը):
Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

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

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

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