Identifiant unique

Identifiant unique - C#/.NET managed - Programmation

Marsh Posté le 11-11-2008 à 12:05:43    

Bonjour à tous !
 
Voila, je suis en train de construire une application winform (tournant sur windows xp) et j'ai besoin d'identifier un ordinateur de façon unique.
Ma question (quoique pas des plus banales) est donc : quelle est la donnée qui ne varie jamais dans les paramètres d'un ordinateur et qu'on peut accéder via du code C#/.net (via WMI par exemple) ?
 
Attention !
Les données suivantes sont à exclure car elles ne sont pas constantes, et on peut (pour certaines) retrouver la même d'un pc à l'autre :  
- adresse IP
- nom de l'ordinateur
- clef d'un produit installé (logiciel ou système d'exploitation, etc.)
 
Merci d'avance.
 
Malinski

Reply

Marsh Posté le 11-11-2008 à 12:05:43   

Reply

Marsh Posté le 11-11-2008 à 12:25:25    

a ma connaissance, il n'y a aucune données qui ne chanjge pas  
au mieux, tu pexu faire une agregation entre diverses donnée ( adresse mac, configuration matérielle et clé windows par exemple )


---------------

Reply

Marsh Posté le 11-11-2008 à 14:22:51    

Si au plan matériel les configs sont stables, tu peux partir sur l'adresse MAC.
L'agrégation, à moins de la faire en "ou" plutôt qu'en "et" accroit encore le risque de voir ta clé changer...

 

Sinon pour inof dans les CPUs récents, il y a une fonction (pas simple d'accès, et en plus désactivable via le bios) de clé unique.


Message édité par TotalRecall le 11-11-2008 à 14:23:52

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 11-11-2008 à 15:16:05    

J'ai récemment du faire la même chose que toi.  
Je me suis basé sur les données suivantes:
 
- Numéro de série du/des CPU
- Numéro de série de Windows
- Adresse MAC des cartes réseaux
- Identifiant DOMAINE/USER
 
Le merge de ces données me permet je pense de générer une clé unique qui je hash par la suite en MD5.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 11-11-2008 à 15:52:02    

tu veux pas générer juste un uuid et puis voilà ?

Reply

Marsh Posté le 11-11-2008 à 16:49:16    

La génération des guids ne garanti pas son unicité. On pourrait imaginer en avoir deux identiques.  
 
Dans mon cas à mon, il était indispensable d'avoir un guid identifiant un poste de travail pour des raisons de connexions multiples avec des Web Services (sans utiliser les WS Statefull).


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 11-11-2008 à 19:20:30    

moi23372 a écrit :

La génération des guids ne garanti pas son unicité. On pourrait imaginer en avoir deux identiques.  
 
Dans mon cas à mon, il était indispensable d'avoir un guid identifiant un poste de travail pour des raisons de connexions multiples avec des Web Services (sans utiliser les WS Statefull).


bah j'y peux rien si tout le monde utilise un générateur d'uuid sauf toi. bonne réinvention de la roue carrée.

Reply

Marsh Posté le 11-11-2008 à 19:31:41    

Taz a écrit :


bah j'y peux rien si tout le monde utilise un générateur d'uuid sauf toi. bonne réinvention de la roue carrée.


 
C'est toi qui n'a rien compris. Le générateur de Guid de .NET ne me permet pas d'être sûre à 100% de gérérer une clé pour un poste de travail.  
Cette clé, doit être dans mon cas, toujours la même pour un poste de travail. Il doit en aucun cas changer.  
De plus, il est indispensable que cette clé soit différente d'un poste de travail à un autre. Pas le choix. Il ne s'agit pas de réinventer la roue. C'est ainsi c'est tout.  
 
Je voudrais quand même voir si je suis le seul à faire cela. ça m'étonnerait. Le générateur de guid ne peut être utilisé que pour une raison. Pour la génération de clé temporaire pour lesquels il n'est pas nécessaire d'identifier la provenance.  
 
Alors la prochaine fois, tu t'absentiendra de mettre ce genre de commentaire franchement peut intéressant.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 11-11-2008 à 19:55:20    

A Globally Unique Identifier or GUID (pronounced /ˈguːɪd/ or /ˈgwɪd/) is a special type of identifier used in software applications in order to provide a reference number which is unique in any context (hence, "Globally" ), for example, in defining the internal reference for a type of access point in a software application, or for creating unique keys in a database. While each generated GUID is not guaranteed to be unique, the total number of unique keys (2^128 or 3.4×10^38) is so large that the probability of the same number being generated twice is very small. For example, consider the observable universe, which contains about 5×10^22 stars; every star could then have 6.8×10^15 universally unique GUIDs.

Message cité 1 fois
Message édité par sdap le 11-11-2008 à 19:56:32
Reply

Marsh Posté le 11-11-2008 à 20:05:42    


 
L'objectif dans mon application est de ne pas autoriser l'utilisation d'un login par deux personnes en même temps. De ce fait, je n'ai pas le choix, il faut que je les identifie. Maintenant, c'est clair que la probabilité que la même clé soit généré est peut probable, il y a un risque. Ce que le client qui à commandé l'application n'est pas prêt à accepter malheureusement.  


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 11-11-2008 à 20:05:42   

Reply

Marsh Posté le 11-11-2008 à 20:26:54    


 
Je le sais. Mais va l'expliquer à mon client qui ne veut rien entendre.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 12-11-2008 à 08:34:30    

moi23372 a écrit :


 
C'est toi qui n'a rien compris. Le générateur de Guid de .NET ne me permet pas d'être sûre à 100% de gérérer une clé pour un poste de travail.  
Cette clé, doit être dans mon cas, toujours la même pour un poste de travail. Il doit en aucun cas changer.  
De plus, il est indispensable que cette clé soit différente d'un poste de travail à un autre. Pas le choix. Il ne s'agit pas de réinventer la roue. C'est ainsi c'est tout.  
 
Je voudrais quand même voir si je suis le seul à faire cela. ça m'étonnerait. Le générateur de guid ne peut être utilisé que pour une raison. Pour la génération de clé temporaire pour lesquels il n'est pas nécessaire d'identifier la provenance.  
 
Alors la prochaine fois, tu t'absentiendra de mettre ce genre de commentaire franchement peut intéressant.


C'est absolument faux. Dès que t'auras trouver ton générateur d'uuid parfait, dépêche toi vite de nous faire un topic sur la compression infinie.
 
(Et surtout interdis-toi de te renseigner sur comment c'est fait un générateur d'uuid)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed