Bu konularda zamanında yoğun bir şekilde çalıştım, size iki seçenek önerebilirim. Ya hazır bir yetkilendirme sistemi kullanın, ya da konuda uzman birinden yardım alın. Yine de orta düzeyde bir örnek vereyim.
Dört aşamalı bir yetkilendirme sistemi örneği:
- İstemci (Client), yetkilendirme sunucusuna bağlansın.
- İstemci, yetkilendirme sunucusu (Authenitication server) ile anahtar değişimi yapsın (örneğin: Diffie-Hellman anahtar değişim algoritması).
- İstemci, donanım kimlik bilgisi (HWID) ve lisans anahtarını şifreleyerek yetkilendirme sunucusuna istek göndersin.
- Yetkilendirme sunucusu, işlemin sonucunu ve gerçekleştiği dakikayı şifreleyip istemciye geri göndersin (her seferinde aynı çıktının olmaması önemli, ben örnek vermek için işlemin gerçekleştiği dakika dedim, isterseniz oraya sunucu-istemci arasında bir geçici bir anahtar oluşturup koyabilirsiniz).
Bu sistem, kod kırılmadan zor kırılır.