Miklix

CRC-32 հեշ կոդի հաշվիչ

Հրապարակվել է՝ 17 փետրվարի, 2025 թ., 18:14:35 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 09:15:10 UTC

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

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

CRC-32 Hash Code Calculator

Ցիկլիկ ավելորդության ստուգումը (CRC) սխալ հայտնաբերող կոդ է, որը սովորաբար օգտագործվում է հում տվյալների պատահական փոփոխությունները հայտնաբերելու համար: Չնայած տեխնիկապես կրիպտոգրաֆիկ հեշ ֆունկցիա չէ, CRC-32-ը հաճախ անվանում են հեշ՝ փոփոխական երկարության մուտքից ֆիքսված չափի ելք (32 բիթ) ստանալու իր ունակության պատճառով:

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


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

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

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



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



CRC-32 հեշ ալգորիթմի մասին

Ես մաթեմատիկոս չեմ, բայց կփորձեմ բացատրել այս հեշ ֆունկցիան պարզ համեմատությամբ։ Ի տարբերություն շատ կրիպտոգրաֆիկ հեշ ֆունկցիաների, սա հատկապես բարդ ալգորիթմ չէ, այնպես որ, հավանաբար, ամեն ինչ կարգին կլինի ;-)

Պատկերացրեք, որ նամակ եք ուղարկում փոստով, բայց անհանգստանում եք, որ այն կարող է վնասվել մինչև ստացողին հասնելը: Նամակի բովանդակության հիման վրա դուք հաշվարկում եք CRC-32 ստուգիչ գումարը և գրում այն ծրարի վրա: Երբ ստացողը ստանում է նամակը, նա կարող է նաև հաշվարկել ստուգիչ գումարը և տեսնել, թե արդյոք այն համապատասխանում է ձեր գրածին: Եթե այո, ապա նամակը ճանապարհին չի վնասվել կամ փոփոխվել:

CRC-32-ը սա անում է չորս քայլից բաղկացած գործընթացով.

Քայլ 1. Ավելացրեք լրացուցիչ տարածք (լրացում)

  • CRC-ն հաղորդագրության վերջում մի փոքր լրացուցիչ տեղ է ավելացնում (ինչպես գետնանուշը տուփի մեջ փաթեթավորելիս):
  • Սա օգնում է նրան ավելի հեշտությամբ նկատել սխալները։

Քայլ 2. Կախարդական քանոնը (բազմանդամը)

  • CRC-32-ը օգտագործում է հատուկ «կախարդական քանոն»՝ տվյալները չափելու համար: Պատկերացրեք այս քանոնը որպես ուռուցիկների և ակոսների նախշ (սա բազմանդամն է, բայց մի անհանգստացեք այդ բառի համար): CRC-32-ի համար ամենատարածված «քանոնը» ֆիքսված նախշ է:

Քայլ 3. Քանոնի սահեցում (բաժանման գործընթաց)

  • Այժմ CRC-ն քանոնը սահեցնում է հաղորդագրության վրայով։ Յուրաքանչյուր կետում այն ստուգում է, թե արդյոք ուռուցիկները և ակոսները համընկնում են։ Եթե դրանք չեն համընկնում, CRC-ն նշում է կատարում (սա արվում է պարզ XOR-ի միջոցով, ինչպես օրինակ՝ անջատիչները միացնելը կամ անջատելը)։ Այն շարունակում է սահեցնել և շրջել անջատիչները մինչև վերջը։

Քայլ 4. Վերջնական արդյունքը (Checksum)

  • Քանոնը ամբողջ հաղորդագրության վրայով սահեցնելուց հետո մնում է մի փոքր թիվ (32 բիթ երկարությամբ), որը ներկայացնում է սկզբնական տվյալները: Այս թիվը հաղորդագրության եզակի մատնահետքի նման է: Սա CRC-32 ստուգիչ գումարն է:

Էջում ներկայացված տարբերակը CRC-32 ֆունկցիայի բնօրինակն է, որը դուք պետք է օգտագործեք այլ համակարգերի հետ լավագույն համատեղելիության համար։

Ես ունեմ նաև հաշվիչներ մյուս տարբերակների համար՝

  • Հղում
  • Հղում

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

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


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

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

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

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