CRC-32 հեշ կոդի հաշվիչ
Հրապարակվել է՝ 17 փետրվարի, 2025 թ., 18:14:35 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 09:15:10 UTC
CRC-32 Hash Code Calculator
Ցիկլիկ ավելորդության ստուգումը (CRC) սխալ հայտնաբերող կոդ է, որը սովորաբար օգտագործվում է հում տվյալների պատահական փոփոխությունները հայտնաբերելու համար: Չնայած տեխնիկապես կրիպտոգրաֆիկ հեշ ֆունկցիա չէ, CRC-32-ը հաճախ անվանում են հեշ՝ փոփոխական երկարության մուտքից ֆիքսված չափի ելք (32 բիթ) ստանալու իր ունակության պատճառով:
Ամբողջական բացահայտում. ես չեմ գրել այս էջում օգտագործվող հեշ ֆունկցիայի կոնկրետ իրականացումը: Այն ստանդարտ ֆունկցիա է, որը ներառված է PHP ծրագրավորման լեզվով: Ես միայն վեբ ինտերֆեյսը դարձրեցի, որպեսզի այն հանրությանը հասանելի դարձնեմ այստեղ՝ հարմարության համար:
CRC-32 հեշ ալգորիթմի մասին
Ես մաթեմատիկոս չեմ, բայց կփորձեմ բացատրել այս հեշ ֆունկցիան պարզ համեմատությամբ։ Ի տարբերություն շատ կրիպտոգրաֆիկ հեշ ֆունկցիաների, սա հատկապես բարդ ալգորիթմ չէ, այնպես որ, հավանաբար, ամեն ինչ կարգին կլինի ;-)
Պատկերացրեք, որ նամակ եք ուղարկում փոստով, բայց անհանգստանում եք, որ այն կարող է վնասվել մինչև ստացողին հասնելը: Նամակի բովանդակության հիման վրա դուք հաշվարկում եք CRC-32 ստուգիչ գումարը և գրում այն ծրարի վրա: Երբ ստացողը ստանում է նամակը, նա կարող է նաև հաշվարկել ստուգիչ գումարը և տեսնել, թե արդյոք այն համապատասխանում է ձեր գրածին: Եթե այո, ապա նամակը ճանապարհին չի վնասվել կամ փոփոխվել:
CRC-32-ը սա անում է չորս քայլից բաղկացած գործընթացով.
Քայլ 1. Ավելացրեք լրացուցիչ տարածք (լրացում)
- CRC-ն հաղորդագրության վերջում մի փոքր լրացուցիչ տեղ է ավելացնում (ինչպես գետնանուշը տուփի մեջ փաթեթավորելիս):
- Սա օգնում է նրան ավելի հեշտությամբ նկատել սխալները։
Քայլ 2. Կախարդական քանոնը (բազմանդամը)
- CRC-32-ը օգտագործում է հատուկ «կախարդական քանոն»՝ տվյալները չափելու համար: Պատկերացրեք այս քանոնը որպես ուռուցիկների և ակոսների նախշ (սա բազմանդամն է, բայց մի անհանգստացեք այդ բառի համար): CRC-32-ի համար ամենատարածված «քանոնը» ֆիքսված նախշ է:
Քայլ 3. Քանոնի սահեցում (բաժանման գործընթաց)
- Այժմ CRC-ն քանոնը սահեցնում է հաղորդագրության վրայով։ Յուրաքանչյուր կետում այն ստուգում է, թե արդյոք ուռուցիկները և ակոսները համընկնում են։ Եթե դրանք չեն համընկնում, CRC-ն նշում է կատարում (սա արվում է պարզ XOR-ի միջոցով, ինչպես օրինակ՝ անջատիչները միացնելը կամ անջատելը)։ Այն շարունակում է սահեցնել և շրջել անջատիչները մինչև վերջը։
Քայլ 4. Վերջնական արդյունքը (Checksum)
- Քանոնը ամբողջ հաղորդագրության վրայով սահեցնելուց հետո մնում է մի փոքր թիվ (32 բիթ երկարությամբ), որը ներկայացնում է սկզբնական տվյալները: Այս թիվը հաղորդագրության եզակի մատնահետքի նման է: Սա CRC-32 ստուգիչ գումարն է:
Էջում ներկայացված տարբերակը CRC-32 ֆունկցիայի բնօրինակն է, որը դուք պետք է օգտագործեք այլ համակարգերի հետ լավագույն համատեղելիության համար։
Ես ունեմ նաև հաշվիչներ մյուս տարբերակների համար՝
- Հղում
- Հղում
Լրացուցիչ ընթերցանություն
Եթե ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.
