Ohjelmistosuojaus on luultavasti suurin ongelma, jonka jokaisella kehittäjällä on edessään. Helpoin tapa suojautua on käyttää avaimia, jotka luodaan tietyn periaatteen mukaisesti. Perusavaingeneraattorin kirjoittaminen on klassinen tehtävä aloitteleville C-ohjelmoijille, koska avulla voit korostaa symboleilla työskentelyn näkökohtia.
Ohjeet
Vaihe 1
Alla oleva avaingeneraattori on pohjimmiltaan salausohjelma. Ohjelma vaatii käyttäjää syöttämään etu- ja sukunimen, sitten kääntämään jokaisen syötetyn merkin numeeriseksi koodiksi ja muuttamaan sen tietyn lain mukaan. Käyttäjälle näytetään ruudussa avain, joka koostuu samasta määrästä merkkejä kuin sukunimi. Tämän algoritmin haittana on, että avaimen vakioitu määrä merkkejä voidaan saada vain standardoiduilla syötetiedoilla (IP-osoite, arvo Windowsin rekisteristä).
Vaihe 2
Pyydä käyttäjän sukunimi, etunimi ja isänimi. Tässä tapauksessa lähtöavaimen helpottamiseksi käytetään vain sukunimeä (syötetty koodi luetaan ensimmäiseen väliin asti, loput menevät puskuriin, joka on tarvittaessa tyhjennettävä). Tiedot kirjoitetaan merkkijonoon A [30]. Syötä samalla lisälaskuri i: n muistamiseksi, kuinka monta merkkiä syötettiin.
printf ("Syötä sukunimi ja nimikirjaimet. [Vasiliev A. I.] n");
kun (A [i-1]! = '')
{scanf ("% c", & A ); i ++;}
Vaihe 3
Muunna sukunimi. Huolimatta siitä, että taulukko on char-muodossa, voit suorittaa sen kanssa kaikki matemaattiset operaatiot, koska jokaisella merkillä C: llä on oma numeerinen koodi. Siksi luo silmukka nollasta tallennettuun merkkien määrään i. Kirjoita silmukan runkoon elementin A [j] muunnos ja näytä se sitten.
varten (int j = 0; j
Pätevyystarkastus suoritetaan vertaamalla saatuja ja annettuja avaimia. Käyttäjä antaa valtuutusta varten sukunimensä ja generaattorisi antaman koodin. Ohjelmaan on asennettu samanlainen generaattori, joka muuntaa sukunimen saman lain mukaisesti ja vertaa sitten syötettyjä arvoja merkkikohtaisesti siihen, mitä olisi pitänyt saada.
Vaihe 4
Pätevyystarkastus suoritetaan vertaamalla saatuja ja annettuja avaimia. Käyttäjä antaa valtuutusta varten sukunimensä ja generaattorisi antaman koodin. Ohjelmaan on asennettu vastaava generaattori, joka muuntaa sukunimen saman lain mukaisesti ja vertaa sitten syötettyjä arvoja merkki kerrallaan siihen, mikä olisi pitänyt saada.