2012-03-05 5 views
2

Je dois protéger avec une clé de validation une application écrite en Java, la clé ne doit fonctionner que sur un PC spécifique, par exemple un numéro de série d'ID d'ordinateur doit être généré par l'application basée sur un identifiant unique (par exemple: disque dur série, MainBoard série et ainsi de suite ...); puis, sur la base de cet identifiant unique, un autre programme générera une clé de validation.Génération et validation de clé série en Java (identifiant unique machine)

J'ai déjà implémenté un système d'activation similaire sur une application .NET générant un identifiant de machine, obtenant des numéros de série matériels de WMI, comment puis-je obtenir ces valeurs en Java? La solution devrait fonctionner indépendamment sur Windows, Linux et Mac Os X.

Comment puis-je récupérer un identifiant unique d'une machine en Java? Y a-t-il une bibliothèque qui permet de le faire?

+0

double possible: http://stackoverflow.com/questions/1986732/how-to-get-a-unique-computer-identifier-in-java- like-disk-id-ou-carte-mère id – TPete

Répondre

0

Vous devez appeler quelque chose spécifique à la plate-forme. Par exemple sur Windows, vous pouvez appeler un script VB qui appelle le WMI pour obtenir cette information. Remarque: quelle que soit l'approche que vous utilisez, il devrait être facile de tromper si vous savez ce que vous faites.

1

Je ne pense pas que vous pouvez obtenir l'ID du CPU ou du disque dur/cartes mères en Java pur. Le plus proche que vous avez est network mac address:

NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress(); 
Questions connexes