2010-08-30 26 views
13

Je dois générer un code unique à partir d'un seul PC, mon logiciel sera distribué par licence, et localement j'ai besoin d'identifier l'environnement et d'envoyer ce code au serveur. Je ne veux pas maintenir sur le serveur un numéro séquentiel et chaque client reçoit un numéro de la séquence, j'ai essayé de lire l'adresse MAC de NetworkInterfaces, mais n'est pas sécurisé, l'utilisateur peut changer facilement l'adresse MAC. La meilleure façon que je pense si c'est possible de lire le numéro de série de la carte mère, mais je n'ai pas trouvé le chemin jusqu'à maintenant. Toute suggestion?Matériel d'identification informatique unique basé sur Java

+1

Notez également que l'ordinateur peut avoir de nombreuses interfaces réseau (et donc de nombreuses adresses MAC), ou aucune. –

+0

Oui, mais si l'ordinateur n'a pas d'interface réseau, je ne suis pas en mesure de récupérer le numéro. – Rigoni

+0

Êtes-vous engagé à écrire votre propre plan de licence? Je pense qu'il existe des solutions open source décentes. –

Répondre

9

Combien vaut votre logiciel?

Est-ce que le marché cible pirate beaucoup le logiciel?

lecture du numéro de série mère est possible sur les boîtes de Windows à l'aide de WMI

Utilisez WMI pour lire le numéro de série http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx

Utilisez WMI de Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

WMI est/a été un cassé sous Windows XP membres du domaine sur un domaine AD, s'ils utilisent des stratégies de groupe.

(Cet effet uniquement les utilisateurs les plus entreprises de XP, donc pas une grosse affaire)

Espérons que cela aide un peu (adresse MAC est plus simple ... mais il est facile de changer)

+0

Oui, c'est un logiciel de stratégie comme une stratégie de calculatrice cassino. Est multiplateforme, pour Windows cette solution sera utile, mais à d'autres plates-formes pas. Je vais essayer cette solution, et à d'autres solutions d'OS. Plusieurs réservoirs. – Rigoni

+1

Pourriez-vous élaborer un peu sur la façon dont WMI est/était brisé. J'ai été incapable de trouver une référence à ce bug. – MZB

+0

Il existe de nombreuses zones où WMI simplement plat ne rapporte pas les informations que vous attendez. En outre, chaque Service Pack (et un nombre regrettable de mises à jour régulières) a apporté des modifications à ce que WMI signale. Sauf si vous avez un contrôle très strict sur ce qui est installé sur le client, WMI peut être fou de travailler avec. – NotMe

0

L'adresse MAC n'est pas fiable. Vous devez viser quelque chose qui ne peut pas être modifié comme un ID de CPU ou un ID IDE HDD. Voici ce que je veux dire: http://www.soft.tahionic.com/download-hdd_id/index.html

Malheureusement, je ne pense pas que DLL fonctionne avec Java, mais au moins, il va vous montrer quelques informations sur ce qui est fiable et ce qui ne l'est pas.

+0

L'ID de l'UC ne vous donne pas un numéro de série unique. Cet identifiant est purement pour identifier le TYPE exact du processeur utilisé. – NotMe

+1

En outre, le disque dur n'est pas fiable car il peut ne pas être disponible en raison de l'utilisation de contrôleurs RAID – NotMe