Softwarebeveiliging is waarschijnlijk het grootste probleem waarmee elke ontwikkelaar wordt geconfronteerd. De eenvoudigste manier om jezelf te beschermen is om sleutels te gebruiken die volgens een bepaald principe worden gegenereerd. Het schrijven van een basissleutelgenerator is een klassieke taak voor beginnende C-programmeurs, omdat: stelt u in staat aspecten van het werken met symbolen te benadrukken.
instructies:
Stap 1
De onderstaande sleutelgenerator is in wezen een encryptor. Het programma vereist dat de gebruiker een voor- en achternaam invoert, vervolgens elk ingevoerd teken in een numerieke code vertaalt en het transformeert volgens een bepaalde wet. De gebruiker krijgt op het scherm een sleutel te zien die uit hetzelfde aantal tekens bestaat als de achternaam. Het nadeel van dit algoritme is dat het gestandaardiseerde aantal karakters in de sleutel alleen kan worden verkregen met gestandaardiseerde invoergegevens (ip-adres, waarde uit het Windows-register).
Stap 2
Vraag de achternaam, voornaam en patroniem van de gebruiker aan. Om de uitvoersleutel gemakkelijker te maken, wordt in dit geval alleen de achternaam gebruikt (de ingevoerde code wordt gelezen tot aan de eerste spatie, de rest gaat naar de buffer, die indien nodig moet worden gewist). De gegevens worden naar de array char A [30] geschreven. Voer tegelijkertijd een extra teller in zodat i onthoudt hoeveel tekens er zijn ingevoerd.
printf ("Voer de achternaam en initialen in. [Vasiliev A. I.] n");
terwijl (A [i-1]! = '')
{scanf ("% c", & A ); ik ++;}
Stap 3
Zet de achternaam om. Ondanks het feit dat de array in char-formaat is, kun je er alle wiskundige bewerkingen mee uitvoeren, aangezien elk teken in C heeft zijn eigen numerieke code. Maak daarom een lus van nul tot het opgeslagen aantal tekens i. Schrijf in de hoofdtekst van de lus de transformatie voor het element A [j] en geef deze vervolgens weer.
voor (int j = 0; j
De geldigheidscontrole wordt uitgevoerd door de resulterende en gegeven sleutels te vergelijken. Voor autorisatie voert de gebruiker zijn achternaam en de code in die door uw generator is uitgegeven. In het programma is een vergelijkbare generator geïnstalleerd, die de achternaam volgens dezelfde wet converteert en vervolgens de ingevoerde waarden teken voor teken vergelijkt met wat had moeten worden verkregen.
Stap 4
De geldigheidscontrole wordt uitgevoerd door de resulterende en gegeven sleutels te vergelijken. Voor autorisatie voert de gebruiker zijn achternaam en de code in die door uw generator is uitgegeven. In het programma is een vergelijkbare generator geïnstalleerd, die de achternaam volgens dezelfde wet converteert en vervolgens de ingevoerde waarden teken voor teken vergelijkt met wat had moeten worden verkregen.