Perlindungan perisian mungkin merupakan masalah utama yang dihadapi oleh setiap pembangun. Cara termudah untuk melindungi diri anda adalah dengan menggunakan kunci yang dihasilkan mengikut prinsip tertentu. Menulis penjana kunci asas adalah tugas klasik bagi pengaturcara pemula C, kerana membolehkan anda menekankan aspek bekerja dengan simbol.
Arahan
Langkah 1
Penjana utama di bawah ini pada asasnya adalah penyulit. Program ini memerlukan pengguna memasukkan nama depan dan belakang, kemudian menerjemahkan setiap watak yang dimasukkan ke dalam kod angka dan mengubahnya mengikut undang-undang tertentu. Pengguna akan ditunjukkan di skrin kunci yang terdiri daripada bilangan watak yang sama dengan nama keluarga. Kelemahan algoritma ini adalah bahawa bilangan watak standard dalam kunci hanya dapat diperoleh dengan data input standard (alamat ip, nilai dari registri Windows).
Langkah 2
Minta nama belakang, nama depan dan patronimik pengguna. Dalam kes ini, untuk membuat kunci output lebih mudah, hanya nama keluarga yang akan digunakan (kod yang dimasukkan akan dibaca hingga ruang pertama, selebihnya akan pergi ke penyangga, yang perlu dihapus jika perlu). Data akan ditulis ke array char A [30]. Pada masa yang sama, masukkan kaunter tambahan untuk saya mengingat berapa banyak watak yang dimasukkan.
printf ("Masukkan nama keluarga dan inisial. [Vasiliev A. I.] n");
sementara (A [i-1]! = ")
{scanf ("% c", & A ); saya ++;}
Langkah 3
Tukarkan nama belakang. Walaupun array dalam format char, anda boleh menjalankan operasi matematik dengannya setiap watak dalam C mempunyai kod numeriknya sendiri. Oleh itu, buat gelung dari sifar hingga bilangan aksara yang tersimpan i. Di badan gelung, tulis transformasi untuk elemen A [j], dan kemudian paparkannya.
untuk (int j = 0; j
Pemeriksaan kesahan akan dilakukan dengan membandingkan kunci yang dihasilkan dan yang diberikan. Untuk kebenaran, pengguna memasukkan nama belakangnya dan kod yang dikeluarkan oleh penjana anda. Penjana serupa dipasang di dalam program, yang menukar nama keluarga mengikut undang-undang yang sama, dan kemudian membandingkan nilai nilai yang dimasukkan dengan watak dengan apa yang seharusnya diperoleh.
Langkah 4
Pemeriksaan kesahan akan dilakukan dengan membandingkan kunci yang dihasilkan dan yang diberikan. Untuk kebenaran, pengguna memasukkan nama belakangnya dan kod yang dikeluarkan oleh penjana anda. Penjana serupa dipasang di dalam program, yang menukar nama keluarga mengikut undang-undang yang sama, dan kemudian membandingkan nilai nilai yang dimasukkan dengan watak dengan apa yang seharusnya diperoleh.