CRC-32 հեշ կոդի հաշվիչ
Հրապարակվել է՝ 17 փետրվարի, 2025 թ., 18:14:35 UTC
Hash code հաշվիչ, որը օգտագործում է CRC-32 (Cyclic Redundancy Check 32 bit) hash ֆունկցիան հաշ կոդը հաշվարկելու համար, որը հիմնված է տեքստի մուտքագրման կամ ֆայլի վերբեռնման վրա:CRC-32 Hash Code Calculator
Cyclic Redundancy Check (CRC) - սխալների հայտնաբերման կոդ է, որը սովորաբար օգտագործվում է հում տվյալների պատահական փոփոխությունները հայտնաբերելու համար։ Թեեւ տեխնիկապես կրիպտոգրաֆիկ հաշ ֆունկցիա չէ, սակայն CRC-32 հաճախ անվանում են հեշ, քանի որ փոփոխական-երկարության մուտքից ֆիքսված չափի ելք (32 բիթ) արտադրելու ունակությունը։
Ամբողջական բացահայտում. ես չեմ գրել այս էջում օգտագործվող հեշ ֆունկցիայի կոնկրետ իրականացումը: Այն ստանդարտ ֆունկցիա է, որը ներառված է PHP ծրագրավորման լեզվով: Ես միայն վեբ ինտերֆեյսը դարձրեցի, որպեսզի այն հանրությանը հասանելի դարձնեմ այստեղ՝ հարմարության համար:
CRC-32 Հաշ ալգորիթմի մասին
Ես մաթեմատիկոս չեմ, բայց կփորձեմ բացատրել այս hash ֆունկցիան պարզ անալոգիայով: Ի տարբերություն կրիպտոգրաֆիկ հաշ ֆունկցիաներից շատերի, այն առանձնապես բարդ ալգորիթմ չէ, ուստի հավանաբար կլինի okay ;-)
Պատկերացրեք, որ նամակ եք ուղարկում փոստում, բայց դուք անհանգստացած եք, որ այն կարող է վնասվել նախքան ստացողի մոտ հասնելը: Նամակի բովանդակության հիման վրա հաշվում եք CRC-32 checksum եւ գրում եք դա ծրարի վրա: Երբ ստացողը ստանում է նամակը, ապա նա կարող է նաեւ հաշվել ստուգումը եւ տեսնել, թե արդյոք այն համապատասխանում է ձեր գրածին: Եթե այդպես է, ճանապարհին նամակը չի վնասվել կամ չի փոխվել։
Այն, թե ինչպես է CRC-32 անում սա, չորս քայլային գործընթաց է.
Քայլ 1. Ավելացնել որոշ լրացուցիչ տարածություն (Padding)
- CRC-ն հաղորդագրության վերջում ավելացնում է մի փոքր լրացուցիչ սենյակ (ինչպես տուփի մեջ գետնանուշ փաթեթավորելը):
- Սա օգնում է նրան ավելի հեշտությամբ նկատել սխալները։
Քայլ 2. Կախարդական իշխանը (Պոլինոմիական)
- CRC-32-ը տվյալները չափելու համար օգտագործում է հատուկ «կախարդական կառավարիչ»:
- Մտածեք այս կառավարչի մասին, ինչպես բշտերի եւ փեսաների օրինաչափությունը (սա պոլինոմիալն է, բայց մի անհանգստացեք այդ բառի համար):
- CRC-32-ի համար ամենատարածված «կառավարիչը» ֆիքսված օրինաչափությունն է:
Քայլ 3. Սահեցնել ռուլետկա (բաժանման գործընթաց)
- Այժմ ԿԽՄԿ-ն կառավարչին սահում է ուղերձի վրայով:
- Յուրաքանչյուր վայրում ստուգվում է, թե արդյոք բշտիկներն ու պոչերը շարված են։
- Եթե նրանք շարված չեն, CRC-ն գրառում է անում (սա արվում է օգտագործելով պարզ XOR, ինչպես flipping switches on կամ off).
- Այն շարունակում է սահել եւ թեքվել, մինչեւ որ հասնի մինչեւ վերջ։
Քայլ 4. Վերջնական արդյունքը (The Checksum)
- Կառավարչին ամբողջ հաղորդագրությունը սահելուց հետո ձեզ մնում է փոքր թիվ (32 բիթ երկարություն), որը ներկայացնում է սկզբնական տվյալները:
- Այս թիվը նման է հաղորդագրության եզակի մատնահետքի:
- Սա CRC-32 checksum-ն է:
Էջում ներկայացված տարբերակը սկզբնական CRC-32 ֆունկցիան է, որը դուք պետք է օգտագործեք այլ համակարգերի հետ լավագույն համատեղելիության համար:
Ունեմ հաշվիչներ նաեւ մյուս տարատեսակների համար.