Tôi đang triển khai một ứng dụng nhỏ trong C, mà tôi muốn bán dưới dạng phần mềm chia sẻ với mức giá hợp lý sau này. Nó sẽ bắt đầu với một thử nghiệm 30 ngày, mà tôi đã khá chắc chắn về cách thực hiện nó.triển khai cho khóa sản phẩm
Vấn đề tôi có, tuy nhiên, là tôi không hoàn toàn chắc chắn cách thực hiện xác minh khóa sản phẩm. Những gì tôi có trong tâm trí là khách hàng có thể đăng ký trên trang web của tôi (sau khi thử sản phẩm một lúc), thanh toán cho sản phẩm và nhận khóa sản phẩm dưới dạng aaaaa-bbbbb-ccccc-ddddd-eeeee qua e -mail (hoặc có thể có sẵn thông qua hồ sơ của mình trên trang web của tôi). Không có vấn đề cho đến nay. Sau đó, anh ta sẽ thả khóa trong các trường khóa thích hợp trong ứng dụng của tôi và bùng nổ ứng dụng được đăng ký.
Từ những gì tôi có thể tập hợp cho đến nay, mọi người đề xuất AES hoặc RSA cho việc này. Thành thật mà nói, tôi theo một hướng khác trong trường đại học (không phải mật mã) và lớp mật mã mà tôi đã học cách đây một thời gian. Nhưng từ những gì tôi nhớ, AES là một thuật toán mã hóa đối xứng, điều đó có nghĩa là tôi chỉ có một chìa khóa để mã hóa và giải mã, đúng không? Làm thế nào tôi có thể sau đó tạo ra hàng ngàn khóa sản phẩm và vẫn xác nhận chúng trong ứng dụng của tôi (mà bằng cách này sẽ không yêu cầu truy cập internet .... vì vậy không kiểm tra lại với một máy chủ)?
Vì vậy, tôi đoán RSA sẽ là con đường để đi? Nhưng RSA không tạo ra các khóa khá dài (ít nhất dài hơn 25 ký tự bắt buộc từ trên)?
Trong another thread Tôi đọc rằng một số sản phẩm thậm chí sẽ không sử dụng mã hóa để tạo/xác minh khóa sản phẩm, mà thay vào đó chỉ cần sử dụng một số kiểm tra như "thêm 2. và ký tự 17. và tổng số đó phải x".
Cách nhanh nhất, dễ nhất và an toàn nhất để đến đây là gì? :-) Mã mẫu sẽ là đường!
Kính trọng,
Sebastian
PS: Oh ... và xin đừng cho tôi biết thế nào chính tôi có thể và sẽ bị nứt tại một số điểm ..... tôi biết về điều đó, mà chủ yếu là lý do tại sao tôi không muốn dành nhiều thời gian với vấn đề này, nhưng đồng thời không làm cho nó quá dễ dàng cho các cracker thường xuyên.
cảm ơn rất nhiều về các infos. Giả sử rằng tôi không thể sử dụng EEC vì một số lý do .... RSA sẽ không cho vay chính nó cho phương pháp khóa 25 ký tự, bởi vì các khóa RSA có độ dài tối thiểu là 1024 bit, phải không? – Sebastian
RSA * có thể * chỉ có 384 bit nhưng vẫn quá dài đối với khóa do người dùng nhập. Ngay cả khi bạn phân biệt chữ hoa và chữ thường (với 62 ký tự kín đáo), bạn phải có một khóa 65 độ dài. Và RSA ở mức 384 bit là * rất * yếu, vì vậy khóa riêng tư của bạn có thể sẽ bị xâm phạm. –
Tôi thấy việc triển khai ECC miễn phí tại đây: http://www.codeproject.com/KB/security/Elliptic_Curves.aspx. Tôi đã không kiểm tra để xem nó tốt như thế nào. Một chút đào chắc chắn sẽ biến những người khác. Đây là một thứ khá rẻ: http://ellipter.com/. –