La vérification de la clé ne doit surtout pas être fait du coté du client, un simple coup de compilateur suffirait à faire sauter la protection. Si je devais implanter un système de licence je pense que je procéderais de la manière suivante :
- Trouver un algorithme générant les clés, forcément. Le stockage importe peu. Personnellement, vus que je ne pense pas avoir à gérer plus d'une centaine de clé, voir deux cent au grand maximum je ne prendrais même la peine de passer par SQL. Pourquoi ne pas tout simplement les sérialiser en XML ou JSON par exemple ? Un payement permettrait d'accéder à une page générant une nouvelle clé pour le compte.
- Le client envoi une demande de vérification à un script PHP, vérifiant qu'une clé X est valide sur le compte X. Joignant également un token généré aléatoirement celons une structure précise. Ce token pourrait même être nécessaire pour déchiffrer la clé. Si tout est valide, on accepte l'utilisation du programme.
- Le script renvoi soit une autorisation, soit une exception (License valable mais déjà utilisé sur un compte différent, licence expirée, le format de la licence est invalide etc..).
Les informations de connexions à la base de donnée ne doivent surtout pas être stockée dans le code source du logiciel. D'où tout l'intérêt de passer par une application serveur qui doit être sécurisée au maximum. PHP est un langage très simple à prendre en main, tu ne devrais pas rencontrer de soucis, si tu as besoin de conseils hésite pas à poster dans la section Questions / Réponses ou à m'envoyer un MP.