Đối với các khóa CD trường học cũ, việc tạo ra một thuật toán mà các khóa CD (có thể là bất kỳ chuỗi nào) dễ tạo và dễ xác minh, nhưng tỷ lệ của các khóa CD hợp lệ với CD không hợp lệ -key quá nhỏ đến nỗi việc đoán ngẫu nhiên các phím CD không thể giúp bạn có được một cái hợp lệ.
CÁCH TUYỆT VỜI ĐỂ LÀM NÓ:
Cả Starcraft và Half-life đều sử dụng cùng một tổng kiểm tra, trong đó chữ số thứ 13 đã xác minh số 12. Đầu tiên, bạn có thể nhập bất cứ thứ gì cho 12 chữ số đầu tiên và đoán số 13 (chỉ có 10 khả năng), dẫn đến sự khét tiếng1234-56789-1234
Thuật toán để xác minh là công khai và trông giống như thế này:
x = 3;
for(int i = 0; i < 12; i++)
{
x += (2 * x) ^ digit[i];
}
lastDigit = x % 10;
CÁCH ĐÚNG ĐỂ LÀM
Windows XP lấy khá nhiều thông tin, mã hóa nó và đặt mã hóa chữ / số trên nhãn dán. Điều này cho phép MS vừa xác minh khóa của bạn vừa có được loại sản phẩm (Gia đình, Chuyên nghiệp, v.v.) cùng một lúc. Ngoài ra, nó yêu cầu kích hoạt trực tuyến.
Thuật toán đầy đủ khá phức tạp, nhưng được phác thảo độc đáo trong bài báo này (hoàn toàn hợp pháp!), Được xuất bản tại Đức.
Tất nhiên, bất kể bạn làm gì, trừ khi bạn cung cấp dịch vụ trực tuyến (như World of Warcraft ), bất kỳ loại bảo vệ bản sao nào cũng chỉ là một gian hàng: thật không may, nếu đó là bất kỳ trò chơi nào có giá trị, ai đó sẽ phá vỡ (hoặc ít nhất là phá vỡ ) thuật toán khóa CD và tất cả các biện pháp bảo vệ bản quyền khác.
CÁCH THỰC SỰ ĐÚNG CÁCH LÀM NÓ:
Đối với các dịch vụ trực tuyến, cuộc sống đơn giản hơn một chút, vì ngay cả với tệp nhị phân bạn cần xác thực với máy chủ của họ để sử dụng nó (ví dụ: có tài khoản WoW). Thuật toán khóa CD cho World of Warcraft - được sử dụng, ví dụ, khi mua thẻ thời gian chơi - có thể trông giống như thế này:
- Tạo một số ngẫu nhiên rất an toàn về mật mã.
- Lưu trữ nó trong cơ sở dữ liệu của chúng tôi và in nó trên thẻ.
Sau đó, khi ai đó nhập số thẻ thời gian chơi, hãy kiểm tra xem nó có trong cơ sở dữ liệu không và nếu có, hãy liên kết số đó với người dùng hiện tại để không bao giờ có thể sử dụng lại.
Đối với các dịch vụ trực tuyến, không có lý do gì để không sử dụng chương trình trên; sử dụng bất cứ điều gì khác có thể dẫn đến các vấn đề .