Tôi đang viết một ứng dụng phần mềm mà người dùng cần mua giấy phép và kích hoạt nó. Tôi cần gợi ý về cách bắt đầu viết một thuật toán mạnh mẽ để tạo mã và tất nhiên, kiểm tra mã. Tôi biết rằng mọi người có thể thiết kế đối chiếu mã và thực hiện một keygen, tuy nhiên, câu hỏi của tôi là hai phần:Thuật toán cho khóa kích hoạt- Bảo mật
Nói chung, không phụ thuộc vào ứng dụng đang được nứt theo cách này, làm thế nào tôi có thể bắt đầu viết một thuật toán để chấp nhận một chuỗi hoặc chuỗi nhất định hoặc kết hợp. (ví dụ: đó là điều đúng? ví dụ: số đầu tiên là từ 3-9 thứ hai phải là số đầu tiên - 3, trong khi số thứ ba phải là số thứ hai * + .... bất kỳ ... ??)
Cách tiếp cận tốt nhất để bảo vệ ứng dụng Máy tính để bàn khỏi vi phạm bản quyền mà không phải xử lý internet là gì. Đó có phải là thuật toán (làm cho nó khó hơn để đảo ngược kỹ sư), bảo vệ mã nguồn khỏi bị nhìn thấy sau khi ứng dụng được cài đặt ở đâu đó không ?? ... ??
PS: Có lẽ điều đáng nói là tôi đang sử dụng Java làm ngôn ngữ phát triển của mình. Cảm ơn
Nó được biên soạn. Ứng dụng JAVA Desktop. –
@Saher, đã cập nhật câu trả lời của tôi. – labratmatt
Vấn đề với mật mã khóa công khai cho việc tạo số sê-ri là nó tạo ra các mã cực kỳ dài, rất khó để người dùng nhập vào. Khóa 1024 bit sẽ tạo mã có độ dài khoảng 200 ký tự nếu mã hóa base32. Điều đó thậm chí không tính đến các vấn đề nhận thức của con người như nhầm lẫn 1 (một) và l (chữ thường L). –