KeyGen - Gestionnaire de clés d’activation
KeyGen : Gestionnaire de clés d’activation
KeyGen est une petite application console Delphi qui expose un serveur HTTP (Indy) et des endpoints API pour générer, valider et produire en lot des clés d’activation.

Fonctionnalités
Génération de clés signées (HMAC + Base32)
Validation et détection de falsification
Batch generation
Interface web légère pour usage local
Architecture
Exécutable console (KeyGen.dpr) : Démarre un serveur HTTP intégré (Indy), sert une page index.html embarquée et expose trois endpoints API : /generate, /batch, /validate.
Unité KeyGenerator : Sérialise un payload (ProductID, Version, Edition, Expiry), calcule un HMAC-SHA1, ajoute une signature partielle + checksum, encode en Base32 et formate la clé en groupes lisibles.
Interface Web (JS + HTML) : formulaire de génération, batch, validation; appels fetch vers l’API; rendu des résultats et affichage JSON coloré.
Secret HMAC : Fourni au démarrage (Affichage d’astérisques) et passé explicitement aux fonctions Generate / Validate.
Schéma de données (payload)
ProductID : 4 octets (big-endian)
Version : 2 octets (Word, big-endian)
Edition : 1 octet
Expiry : 2 octets (Word) — nombre de jours depuis la date de base (2020-01-01).
0= perpétuelle.Signature : 6 premiers octets du HMAC-SHA1
Checksum : somme modulo 65536 de tous les octets HMAC (2 octets)
API et utilisation
Endpoints :
POST /generate Entrée JSON :
{ product: "A1B2C3D4", version: 1, edition: 0, expiryDays: 30 }Réponse JSON :
{ key: "XXXXX-XXXXX-...", product: "a1b2c3d4", version: 1, edition: 0, expiry: 12345 }POST /batch Entrée JSON :
{ product: "A1B2C3D4", count: 10, version: 1, edition: 0, expiryDays: 30 }Réponse JSON :
{ keys: [ { index:0, product:"a1b2c3d4", key:"..." }, ... ] }POST /validate Entrée JSON :
{ key: "XXXXX-XXXXX-..." }Réponse JSON :
{ status: "valid" | "expired" | "tampered" | "invalid_format", product: "a1b2c3d4", version: 1, edition: 0, expiry: 12345 }Liens de téléchargement : KeyGen.zip
Un petit clic (J'aime) qui fait plaisir !
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Vous devez vous connecter pour commenter.