A very simple licensing system that might be used to protect .NET Applications.
Génération de clés
|
var keyGenerator = new Generate();
keyGenerator.secretPhase = "My$ecretPa$$W0rd"; // adding password
// valid from today for 30 days
var key = keyGenerator.doKey(30);
// valid from 1/1/2000 for 30 days
var key = keyGenerator.doKey(1, new DateTime(2000, 1, 1));
|
|
Bug avec « doKey(int, int) » qui retourne un object au lieu d'un string |
Validation
|
var keyValidator = new Validate();
keyValidator.secretPhase = "My$ecretPa$$W0rd"; // the passsword
keyValidator.Key = "JUWSM-JKDMS-VIXPU-LJHMP"; // enter a valid key
var ok = !keyValidator.IsExpired && keyValidator.SetTime >= keyValidator.DaysLeft && keyValidator.IsValid;
// keyValidator.SetTime >= keyValidator.DaysLeft
// vérifie que la période de validité initiale est supérieur ou égale au nombre de jours restants de validité
// ceci permet en partie d'empêcher que la date du système ne soit modifiée pour prolonger la période de validité.
|
|
var skc = new SerialKeyConfiguration();
var keyGenerator = new Generate(skc);
skc.Features = new bool[8] { false, false,
false, false,
false, false,
false, false };
var keyValidator = new Validate();
if (keyValidator.Features[0]) { }
|
|
var keyGenerator = new Generate(skc);
// entier de 5 chiffres max, 0 par défaut
int id = keyGenerator.MachineCode;
// valid from today for 30 days for a specific computer
var key = keyGenerator.doKey(30, id)
var keyValidator = new Validate();
if (keyValidator.IsOnRightMachine) { }
|