A szoftverek védelme valószínűleg a fő probléma, amellyel minden fejlesztő szembesül. A legegyszerűbb módja annak, hogy megvédje magát egy bizonyos elv szerint létrehozott kulcsok használatával. Az alapvető kulcsgenerátor megírása klasszikus feladat a kezdő C programozók számára, mert lehetővé teszi a szimbólumokkal való munka szempontjainak hangsúlyozását.
Utasítás
1. lépés
Az alábbi kulcsgenerátor lényegében egy titkosító. A program megköveteli, hogy a felhasználó írja be az utónevet és a vezetéknevet, majd fordítsa minden beírt karaktert numerikus kódgá és alakítsa át egy bizonyos törvény szerint. A felhasználónak megjelenik a képernyőn egy kulcs, amely ugyanannyi karakterből áll, mint a vezetéknév. Ennek az algoritmusnak az a hátránya, hogy a kulcsban szereplő karakterek szabványos száma csak szabványosított bemeneti adatokkal (IP-cím, a Windows nyilvántartásból származó érték) érhető el.
2. lépés
Kérje a felhasználó vezetéknevét, keresztnevét és védőszavát. Ebben az esetben a kimeneti kulcs kényelmesebbé tétele érdekében csak a vezetéknevet kell használni (a beírt kódot felolvassák az első szóközig, a többit a puffer kapja, amelyet szükség esetén törölni kell). Az adatokat a char A [30] tömbbe írjuk. Ugyanakkor adjon meg egy további számlálót az i-hez, hogy emlékezzen arra, hogy hány karaktert adott meg.
printf ("Írja be a vezetéknevet és a kezdőbetűket. [Vasziljev A. I.] n");
míg (A [i-1]! = '')
{scanf ("% c", & A ); i ++;}
3. lépés
Konvertálja a vezetéknevet. Annak ellenére, hogy a tömb char formátumú, bármilyen matematikai műveletet elvégezhet vele, mivel a C minden karakterének megvan a maga numerikus kódja. Ezért hozzon létre egy hurkot nullától a tárolt karakterek számáig i. A hurok törzsébe írja be az A [j] elem transzformációját, majd jelenítse meg.
mert (int j = 0; j
Az érvényességi ellenőrzést a kapott és megadott kulcsok összehasonlításával végezzük. Az engedélyezéshez a felhasználó megadja vezetéknevét és a generátor által kiadott kódot. A program belsejében egy hasonló generátor van telepítve, amely ugyanezen törvény szerint átalakítja a vezetéknevet, majd karakterenként összehasonlítja a beírt értékeket azzal, amit el kellett volna érni.
4. lépés
Az érvényességi ellenőrzést a kapott és megadott kulcsok összehasonlításával végezzük. Az engedélyezéshez a felhasználó megadja vezetéknevét és a generátor által kiadott kódot. Hasonló generátort telepítenek a programba, amely ugyanazon törvény szerint konvertálja a vezetéknevet, majd karakterenként összehasonlítja a beírt értékeket azzal, amit el kellett volna érni.