Adler-32 հեշ կոդի հաշվիչ
Հրապարակվել է՝ 17 փետրվարի, 2025 թ., 18:05:29 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 09:14:22 UTC
Adler-32 Hash Code Calculator
Adler-32 հեշ ֆունկցիան ստուգիչ գումարի ալգորիթմ է, որը պարզ է, արագ և հաճախ օգտագործվում է տվյալների ամբողջականության ստուգման համար: Այն մշակվել է Մարկ Ադլերի կողմից և լայնորեն օգտագործվում է տվյալների սեղմման համար նախատեսված ծրագրերում, ինչպիսին է zlib-ը: Ի տարբերություն կրիպտոգրաֆիկ հեշ ֆունկցիաների (ինչպիսին է SHA-256-ը), Adler-32-ը նախատեսված չէ անվտանգության, այլ սխալների արագ ստուգման համար: Այն հաշվարկում է 32-բիթանոց (4 բայթ) ստուգիչ գումար, որը սովորաբար ներկայացված է որպես 8 տասնվեցական նիշ:
Ամբողջական բացահայտում. ես չեմ գրել այս էջում օգտագործվող հեշ ֆունկցիայի կոնկրետ իրականացումը: Այն ստանդարտ ֆունկցիա է, որը ներառված է PHP ծրագրավորման լեզվով: Ես միայն վեբ ինտերֆեյսը դարձրեցի, որպեսզի այն հանրությանը հասանելի դարձնեմ այստեղ՝ հարմարության համար:
Adler-32 հեշ ալգորիթմի մասին
Ես մաթեմատիկոս չեմ, բայց կփորձեմ բացատրել այս հեշ ֆունկցիան՝ օգտագործելով առօրյա անալոգիա, որը, հուսով եմ, իմ ոչ մաթեմատիկոս գործընկերները կհասկանան։ Ի տարբերություն շատ կրիպտոգրաֆիկ հեշ ֆունկցիաների, Adler32-ը բավականին պարզ ստուգիչ գումարի ֆունկցիա է, ուստի սա չպետք է այդքան էլ վատ լինի ;-)
Պատկերացրեք, որ ունեք փոքրիկ համարակալված սալիկներով լի տոպրակ, որոնցից յուրաքանչյուրը ներկայացնում է ձեր տվյալների տառը կամ մի մասը: Օրինակ՝ «Hi» բառն ունի երկու սալիկ՝ մեկը՝ «H»-ի համար, մյուսը՝ «i»-ի համար:
Հիմա մենք այս սալիկներով երկու պարզ բան ենք անելու.
Քայլ 1. Գումարեք դրանք (գումար A)
- Սկսեք 1 թվից (որպես կանոն):
- Այս ընդհանուրին գումարեք յուրաքանչյուր սալիկից ստացված թիվը։
Քայլ 2. Պահպանեք բոլոր գումարների ընթացիկ գումարը (գումար B)
- Ամեն անգամ, երբ դուք գումար A-ին ավելացնում եք նոր սալիկի համար, դուք նաև գումար A-ի նոր արժեքը ավելացնում եք գումար B-ին։
- Դա նման է մետաղադրամներ դարսելուն. դուք վրան ավելացնում եք մեկ մետաղադրամ (Գումար A), ապա գրում եք նոր կույտի ընդհանուր բարձրությունը (Գումար B):
Վերջում դուք երկու գումարները միացնում եք իրար՝ ստանալով մեկ մեծ թիվ։ Այդ մեծ թիվը Adler-32 ստուգիչ գումարն է։
Լրացուցիչ ընթերցանություն
Եթե ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.
