Bảo vệ phần mềm có lẽ là vấn đề chính mà mọi nhà phát triển phải đối mặt. Cách dễ nhất để tự bảo vệ mình là sử dụng các khóa được tạo ra theo một nguyên tắc nhất định. Viết một trình tạo khóa cơ bản là một công việc kinh điển đối với các lập trình viên C mới bắt đầu, bởi vì cho phép bạn nhấn mạnh các khía cạnh của việc làm việc với các biểu tượng.
Hướng dẫn
Bước 1
Bộ tạo khóa bên dưới về cơ bản là một bộ mã hóa. Chương trình sẽ yêu cầu người dùng nhập họ và tên, sau đó dịch từng ký tự đã nhập thành mã số và biến đổi theo một quy luật nhất định. Người dùng sẽ được hiển thị trên màn hình một khóa bao gồm cùng một số ký tự với họ. Nhược điểm của thuật toán này là số ký tự được chuẩn hóa trong khóa chỉ có thể nhận được với dữ liệu đầu vào được chuẩn hóa (địa chỉ ip, giá trị từ sổ đăng ký Windows).
Bước 2
Yêu cầu họ, tên và chữ viết tắt của người dùng. Trong trường hợp này, để làm cho khóa đầu ra thuận tiện hơn, chỉ họ sẽ được sử dụng (mã đã nhập sẽ được đọc đến khoảng trống đầu tiên, phần còn lại sẽ chuyển đến bộ đệm, sẽ cần được xóa nếu cần). Dữ liệu sẽ được ghi vào mảng char A [30]. Đồng thời, nhập một bộ đếm bổ sung để tôi nhớ có bao nhiêu ký tự đã được nhập.
printf ("Nhập Họ và tên viết tắt. [Vasiliev A. I.] n");
trong khi (A [i-1]! = '')
{scanf ("% c", & A ); i ++;}
Bước 3
Chuyển đổi họ. Mặc dù thực tế là mảng ở định dạng char, bạn có thể thực hiện bất kỳ phép toán nào với nó, vì mỗi ký tự trong C có mã số riêng. Do đó, hãy tạo một vòng lặp từ số 0 đến số ký tự i được lưu trữ. Trong phần nội dung của vòng lặp, hãy viết phép biến đổi cho phần tử A [j], rồi hiển thị nó.
for (int j = 0; j
Việc kiểm tra tính hợp lệ sẽ được thực hiện bằng cách so sánh các khóa kết quả và khóa đã cho. Để được ủy quyền, người dùng nhập họ của mình và mã do trình tạo của bạn cấp. Một trình tạo tương tự được cài đặt bên trong chương trình, chương trình này sẽ chuyển đổi họ theo cùng một luật, sau đó so sánh các giá trị đã nhập theo từng ký tự với những gì lẽ ra phải nhận được.
Bước 4
Việc kiểm tra tính hợp lệ sẽ được thực hiện bằng cách so sánh các khóa kết quả và khóa đã cho. Để được ủy quyền, người dùng nhập họ của mình và mã do trình tạo của bạn cấp. Một trình tạo tương tự được cài đặt bên trong chương trình, chương trình này sẽ chuyển đổi họ theo cùng một luật, sau đó so sánh các giá trị đã nhập theo từng ký tự với những gì lẽ ra phải nhận được.