Yazılım koruması, muhtemelen her geliştiricinin karşılaştığı ana sorundur. Kendinizi korumanın en kolay yolu, belirli bir prensibe göre üretilmiş anahtarları kullanmaktır. Temel bir anahtar üreteci yazmak, acemi C programcıları için klasik bir görevdir, çünkü sembollerle çalışmanın özelliklerini vurgulamanızı sağlar.
Talimatlar
Aşama 1
Aşağıdaki anahtar oluşturucu aslında bir şifreleyicidir. Program, kullanıcının bir ad ve soyadı girmesini, ardından girilen her karakteri sayısal bir koda çevirmesini ve belirli bir yasaya göre dönüştürmesini isteyecektir. Kullanıcıya soyadı ile aynı sayıda karakterden oluşan bir anahtar ekranda gösterilecektir. Bu algoritmanın dezavantajı, anahtardaki standartlaştırılmış karakter sayısının yalnızca standartlaştırılmış giriş verileriyle (ip adresi, Windows kayıt defterindeki değer) elde edilebilmesidir.
Adım 2
Kullanıcının soyadını, adını ve soyadını isteyin. Bu durumda çıkış anahtarını daha kullanışlı hale getirmek için sadece soyadı kullanılacaktır (girilen kod ilk boşluğa kadar okunacak, geri kalanı arabelleğe gidecek, gerekirse temizlenmesi gerekecek). Veriler char A [30] dizisine yazılacaktır. Aynı zamanda, kaç karakter girildiğini hatırlamak için i için ek bir sayaç girin.
printf ("Soyadı ve baş harflerini girin. [Vasiliev A. I.] n");
while (A [i-1]! = '')
{scanf ("% c", & A ); ben ++;}
Aşama 3
Soyadı dönüştürün. Dizinin char biçiminde olmasına rağmen, onunla herhangi bir matematiksel işlem yapabilirsiniz, çünkü C'deki her karakterin kendi sayısal kodu vardır. Bu nedenle, sıfırdan depolanan i karakter sayısına kadar bir döngü oluşturun. Döngünün gövdesinde, A [j] öğesinin dönüşümünü yazın ve ardından görüntüleyin.
for (int j = 0; j
Elde edilen ve verilen anahtarlar karşılaştırılarak geçerlilik kontrolü yapılacaktır. Yetkilendirme için kullanıcı, soyadını ve jeneratörünüz tarafından verilen kodu girer. Programın içine, soyadını aynı yasaya göre dönüştüren ve daha sonra girilen değerleri karakter karakter elde edilmesi gerekenle karşılaştıran benzer bir jeneratör kurulur.
4. Adım
Elde edilen ve verilen anahtarlar karşılaştırılarak geçerlilik kontrolü yapılacaktır. Yetkilendirme için kullanıcı soyadını ve jeneratörünüz tarafından verilen kodu girer. Programın içine, soyadını aynı yasaya göre dönüştüren ve daha sonra girilen değerleri karakter karakter elde edilmesi gerekenle karşılaştıran benzer bir jeneratör kurulur.