Бағдарламалық жасақтамадан қорғану - әр әзірлеушінің алдында тұрған басты проблема. Өзіңізді қорғаудың ең қарапайым тәсілі - белгілі бір қағидаға сәйкес жасалған кілттерді пайдалану. Негізгі кілт генераторын жазу - бұл бастаушы С бағдарламашылары үшін классикалық тапсырма, өйткені рәміздермен жұмыс істеу аспектілерін атап өтуге мүмкіндік береді.
Нұсқаулық
1-қадам
Төмендегі кілт генераторы негізінен шифрлаушы болып табылады. Бағдарлама пайдаланушыдан атын және атын енгізуді талап етеді, содан кейін әрбір енгізілген таңбаны сандық кодқа аударып, оны белгілі бір заңға сәйкес түрлендіреді. Пайдаланушыға экранда тегі сияқты таңбалар санынан тұратын кілт көрсетіледі. Бұл алгоритмнің кемшілігі мынада: кілт ішіндегі стандартты таңбалар санын тек стандартталған кіріс деректерімен алуға болады (ip адресі, Windows тізіліміндегі мән).
2-қадам
Пайдаланушының тегін, атын және әкесінің атын сұраңыз. Бұл жағдайда шығыс кілтін ыңғайлы ету үшін тек тегі қолданылады (енгізілген код бірінші бос орынға дейін оқылады, қалғаны буферге жіберіледі, қажет болған жағдайда оны тазарту қажет). Деректер char A [30] массивіне жазылады. Сонымен қатар, i таңбасының қанша енгізілгенін есте сақтау үшін қосымша есептегішті енгізіңіз.
printf («Тегі мен инициалын енгізіңіз. [Васильев А. И.] n»);
while (A [i-1]! = '')
{scanf («% c», & A ); мен ++;}
3-қадам
Фамилияны түрлендіру Массив char форматында болғанына қарамастан, онымен кез-келген математикалық амалдарды орындауға болады, өйткені әрбір С символының өзінің сандық коды болады. Сондықтан, нөлден сақталған i таңбасының санына дейін цикл жасаңыз. Цикл денесінде A [j] элементінің түрленуін жазып, содан кейін оны көрсетіңіз.
үшін (int j = 0; j
Жарамдылығын тексеру алынған және берілген кілттерді салыстыру арқылы жүзеге асырылады. Авторизация үшін пайдаланушы өзінің тегі мен сіздің генераторыңыз берген кодты енгізеді. Осындай генератор бағдарламаның ішіне орнатылған, ол тегі сол заңға сәйкес түрлендіреді, содан кейін енгізілген мәндерді таңба бойынша алу керек нәрсемен салыстырады.
4-қадам
Жарамдылығын тексеру алынған және берілген кілттерді салыстыру арқылы жүзеге асырылады. Авторизация үшін пайдаланушы өзінің тегі мен сіздің генераторыңыз берген кодты енгізеді. Осындай генератор бағдарламаның ішіне орнатылған, ол тегі сол заңға сәйкес түрлендіреді, содан кейін енгізілген мәндерді таңба бойынша алу керек нәрсемен салыстырады.