Ինչպես պատրաստել բանալիների գեներատոր

Բովանդակություն:

Ինչպես պատրաստել բանալիների գեներատոր
Ինչպես պատրաստել բանալիների գեներատոր

Video: Ինչպես պատրաստել բանալիների գեներատոր

Video: Ինչպես պատրաստել բանալիների գեներատոր
Video: Скумбрия холодного копчения. Пошаговый рецепт.ENG SUB 2024, Ապրիլ
Anonim

Softwareրագրակազմի պաշտպանությունը, հավանաբար, այն հիմնական խնդիրն է, որի հետ բախվում է յուրաքանչյուր մշակող: Ինքներդ ձեզ պաշտպանելու ամենադյուրին ճանապարհը բանալիների օգտագործումն է, որոնք ստեղծվում են որոշակի սկզբունքի համաձայն: Հիմնական բանալիների գեներատոր գրելը դասական խնդիր է սկսնակ C ծրագրավորողների համար, քանի որ թույլ է տալիս ընդգծել խորհրդանիշների հետ աշխատելու ասպեկտները:

Ինչպես պատրաստել բանալիների գեներատոր
Ինչպես պատրաստել բանալիների գեներատոր

Հրահանգներ

Քայլ 1

Ստորև բերված հիմնական գեներատորը ըստ էության ծածկագրիչ է: Րագիրը օգտագործողից կպահանջի մուտքագրել անուն և ազգանուն, այնուհետև յուրաքանչյուր մուտքագրված նիշը թարգմանել թվային կոդի և այն վերափոխել ըստ որոշակի օրենքի: Օգտագործին էկրանին կցուցադրվի մի ստեղն, որը բաղկացած է նույն թվով նիշերից, ինչ ազգանունը: Այս ալգորիթմի անբարենպաստությունն այն է, որ ստեղների ստանդարտացված նիշերի քանակը կարելի է ստանալ միայն ստանդարտացված մուտքային տվյալների միջոցով (IP հասցե, արժեքը Windows ռեգիստրից):

Քայլ 2

Հայցեք օգտագործողի ազգանունը, անունը և հայրանունը: Այս դեպքում ելքային բանալին ավելի հարմարավետ դարձնելու համար կօգտագործվի միայն ազգանունը (մուտքագրված ծածկագիրը կկարդա մինչև առաջին տեղը, մնացածը կուղղվի բուֆերին, որը անհրաժեշտության դեպքում պետք է մաքրել), Տվյալները կգրվեն char A [30] զանգվածում: Միևնույն ժամանակ, մուտքագրեք լրացուցիչ հաշվիչ, որպեսզի ես հիշեմ, թե քանի նիշ է մուտքագրվել:

printf («Մուտքագրեք ազգանունը և սկզբնատառերը. [Վասիլիև Ա. Ի.] n»);

մինչդեռ (A [i-1]! = '')

{scanf ("% c", & A ); ես ++;}

Քայլ 3

Վերափոխեք ազգանունը: Չնայած այն հանգամանքին, որ զանգվածը char ձևաչափով է, դրանով դուք կարող եք ցանկացած մաթեմատիկական գործողություն իրականացնել C- ի յուրաքանչյուր նիշ ունի իր թվային ծածկագիրը: Հետեւաբար, ստեղծեք մի օղակ զրոյից մինչև պահված նիշերի թիվը i. Օղակի մարմնում գրեք A [j] տարրի փոխակերպումը, ապա ցուցադրեք այն:

համար (int j = 0; j

Վավերության ստուգումը կիրականացվի ստացված և տրված բանալիների համեմատության միջոցով: Լիազորման համար օգտագործողը մուտքագրում է իր ազգանունը և ձեր գեներատորի կողմից թողարկված ծածկագիրը: Insideրագրի ներսում տեղադրված է նմանատիպ գեներատոր, որը վերափոխում է ազգանունը նույն օրենքի համաձայն, իսկ հետո մուտքագրված արժեքներն ըստ բնույթի համեմատում է ստացվածի հետ:

Քայլ 4

Վավերության ստուգումը կիրականացվի ստացված և տրված բանալիների համեմատության միջոցով: Լիազորման համար օգտագործողը մուտքագրում է իր ազգանունը և ձեր գեներատորի կողմից թողարկված ծածկագիրը: Insideրագրի ներսում տեղադրված է նմանատիպ գեներատոր, որը վերափոխում է ազգանունը նույն օրենքի համաձայն, իսկ հետո մուտքագրված արժեքներն ըստ բնույթի համեմատում է ստացվածի հետ:

Խորհուրդ ենք տալիս: