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րագրի ներսում տեղադրված է նմանատիպ գեներատոր, որը վերափոխում է ազգանունը նույն օրենքի համաձայն, իսկ հետո մուտքագրված արժեքներն ըստ բնույթի համեմատում է ստացվածի հետ: