format des "CLSID"

Le
moi
Bonjour,


Je me pose la question suivante :

Les CLSID ont, sauf exception, l'allure suivante :

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}

Y a t-il une règle générale pour la composition de ce "numéro"
ou bien est-ce la zone complète ?

Le premier bloc donne déjà,
si je ne m'abuse (de 00000000 à FFFFFFFF),
4 294 967 296 combinaisons.

L'ensemble donne
qqchose comme

18 446 744 073 709 551 616 cas

alors . un peu de logique serait
assez logique ;o)


Merci,

HB
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sniper
Le #17822701
moi vient de nous déclarer:

alors .... un peu de logique serait
assez ... logique ;o)



http://fr.wikipedia.org/wiki/Globally_Unique_Identifier

--
Sniper

On ne dit pas c'est alligator, mais c'est Mouloud qui a raison.
Jean-Claude BELLAMY
Le #17823001
"moi" news:%
Bonjour,


Je me pose la question suivante :

Les CLSID ont, sauf exception, l'allure suivante :

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}


Oui, c'est bien une structure composée de 8-4-4-4-12 digits hexadécimaux,
soit 32 digits au total, soit 16 octets, soit128 bits


Y a t-il une règle générale pour la composition de ce "numéro"
ou bien est-ce la zone complète ?



La seule règle que je connaisse, c'est que cet identifiant doit être UNIQUE.

Il existe (dans le SDK p.ex.) des générateurs de ID
Je viens de ressortir un "vieux" UUIDGEN.EXE du SDK MS datant de 2003

Voila ce qu'il m'a sorti successivement 10 fois de suite :

abd6b219-cf69-4a5f-a406-31547ce7fe41
22eb973c-1d73-4f5f-a86c-25055066eb81
59cd4d50-264b-4ae8-981a-5cd613eb679c
dbd36d9f-6cd2-4843-9e80-4a04a4206766
599f4be1-5475-429d-933d-231fa95afa65
7facfebf-5e5f-4b55-ae96-3dcb71aa8914
8a2724c1-63bb-4726-95ab-073a7ad8dbb5
b494a7e5-5664-4802-ba7d-cbfac14794b4
4e5e7671-0174-4563-a482-3c7e412a0e56
da6919cf-523c-4c8d-b8b6-fd13575e5913

çà m'a l'air très aléatoire !!!

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jacquouille la Fripouille
Le #17823351
*Bonjour Jean-Claude BELLAMY*
Tu as pianoté sur ton clavier dans
"moi" news:%
Bonjour,


Je me pose la question suivante :

Les CLSID ont, sauf exception, l'allure suivante :

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}


Oui, c'est bien une structure composée de 8-4-4-4-12 digits
hexadécimaux, soit 32 digits au total, soit 16 octets, soit128 bits


Y a t-il une règle générale pour la composition de ce "numéro"
ou bien est-ce la zone complète ?



La seule règle que je connaisse, c'est que cet identifiant doit être
UNIQUE.

Il existe (dans le SDK p.ex.) des générateurs de ID
Je viens de ressortir un "vieux" UUIDGEN.EXE du SDK MS datant de 2003

Voila ce qu'il m'a sorti successivement 10 fois de suite :

abd6b219-cf69-4a5f-a406-31547ce7fe41
22eb973c-1d73-4f5f-a86c-25055066eb81
59cd4d50-264b-4ae8-981a-5cd613eb679c
dbd36d9f-6cd2-4843-9e80-4a04a4206766
599f4be1-5475-429d-933d-231fa95afa65
7facfebf-5e5f-4b55-ae96-3dcb71aa8914
8a2724c1-63bb-4726-95ab-073a7ad8dbb5
b494a7e5-5664-4802-ba7d-cbfac14794b4
4e5e7671-0174-4563-a482-3c7e412a0e56
da6919cf-523c-4c8d-b8b6-fd13575e5913

çà m'a l'air très aléatoire !!!



sauf peut-être la 3ème zone qui commence systématiquement par un 4 ? %-(
--
Jacquouille la Fripouille
Périgord, meitat chen, meitat porc.
Alain Naigeon
Le #17824231
"Jean-Claude BELLAMY" message de news:
"moi" news:%
Bonjour,


Je me pose la question suivante :

Les CLSID ont, sauf exception, l'allure suivante :

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}


Oui, c'est bien une structure composée de 8-4-4-4-12 digits hexadécimaux,
soit 32 digits au total, soit 16 octets, soit128 bits


Y a t-il une règle générale pour la composition de ce "numéro"
ou bien est-ce la zone complète ?



La seule règle que je connaisse, c'est que cet identifiant doit être
UNIQUE.

Il existe (dans le SDK p.ex.) des générateurs de ID
Je viens de ressortir un "vieux" UUIDGEN.EXE du SDK MS datant de 2003

Voila ce qu'il m'a sorti successivement 10 fois de suite :

abd6b219-cf69-4a5f-a406-31547ce7fe41
22eb973c-1d73-4f5f-a86c-25055066eb81
59cd4d50-264b-4ae8-981a-5cd613eb679c
dbd36d9f-6cd2-4843-9e80-4a04a4206766
599f4be1-5475-429d-933d-231fa95afa65
7facfebf-5e5f-4b55-ae96-3dcb71aa8914
8a2724c1-63bb-4726-95ab-073a7ad8dbb5
b494a7e5-5664-4802-ba7d-cbfac14794b4
4e5e7671-0174-4563-a482-3c7e412a0e56
da6919cf-523c-4c8d-b8b6-fd13575e5913

çà m'a l'air très aléatoire !!!



Certes mais il peut y avoir eu une transformation
(genre de cryptage) qui ne conserve pas les distances.

Par contre ce qui m'ébahit, c'est comment être sûr
de générer une chaîne, non pas unique sur une machine,
mais unique par rapport à tout ce qui peut être généré
sur n'importe quelle machine dans le monde entier.

Avec une "graine" d'irréversibilité comme le temps
universel, ok, mais là apparemment cela fonctionne
en dehors de toute synchronisation avec une horloge.

Il faut supposer qu'ils pêchent des infos sur la config,
la puce, sur l'état de la mémoire, etc. En toute rigueur,
même si c'est théoriquement impossible de garantir
l'unicité, il suffit en pratique que le risque de doublon
soit très faible (rapporté au nombre de machines
tournant sous l'OS, multiplié par le nombres de CLSID
nécessaires en moyenne sur chacune d'elles !).

Le nombre max de CLSID possible est de l'ordre
de 32^^16 (en pratique moins si certains digits sont
attachés à la description de certaines classes de besoins).
32^^ 16 cela fait 12 * 10^^23 soit le double du nombre
d'Avogadro (combien d'atomes dans une molécule-gramme) !

Si j'ai 100 millions de machines, chacune ave 1000 CLSID
(c'est beaucoup), ça fait 10^^11. Donc on a effectivement
une sacrée marge ; même si, par exemple, 8 digits ne peuvent
être choisis arbitrairement, il en reste 24, et 24 ^^ 16 font
1,2 10^^22 donc on a seulement une chance sur 22-11
= 10^^11 = 100 millards qu'une CLSID soit un jour générée
en double sur l'une des machines mondiales :-o

Ouf, je dormirai mieux ce soir !

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Oberhoffen/Moder, France
http://fr.youtube.com/user/AlainNaigeon
Sniper
Le #17824721
moi a gravé sur son écran :

alors .... un peu de logique serait
assez ... logique ;o)



Voir aussi ici
http://windows.developpez.com/faq/dcom/?page=objets#guiduuid

--
Sniper

Si vous ne faites pas aujourd'hui ce que vous avez dans la tête,
demain vous l'aurez dans le cul .
Coluche 1944-1986
Gump
Le #17826651
| Voila ce qu'il m'a sorti successivement 10 fois de suite :
|
| abd6b219-cf69-4a5f-a406-31547ce7fe41
| 22eb973c-1d73-4f5f-a86c-25055066eb81
| 59cd4d50-264b-4ae8-981a-5cd613eb679c
| dbd36d9f-6cd2-4843-9e80-4a04a4206766
| 599f4be1-5475-429d-933d-231fa95afa65
| 7facfebf-5e5f-4b55-ae96-3dcb71aa8914
| 8a2724c1-63bb-4726-95ab-073a7ad8dbb5
| b494a7e5-5664-4802-ba7d-cbfac14794b4
| 4e5e7671-0174-4563-a482-3c7e412a0e56
| da6919cf-523c-4c8d-b8b6-fd13575e5913


Ce serait d'ailleurs super pour les plaques minéralogiques des voitures...
Le temps que le pandore note le numéro...
Jean-Claude BELLAMY
Le #17829641
"Alain Naigeon" news:
"Jean-Claude BELLAMY" message de news:
"moi" news:%
Je me pose la question suivante :
Les CLSID ont, sauf exception, l'allure suivante :
{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}


Oui, c'est bien une structure composée de 8-4-4-4-12 digits hexadécimaux,
soit 32 digits au total, soit 16 octets, soit128 bits


Y a t-il une règle générale pour la composition de ce "numéro"
ou bien est-ce la zone complète ?



La seule règle que je connaisse, c'est que cet identifiant doit être
UNIQUE.

Il existe (dans le SDK p.ex.) des générateurs de ID
Je viens de ressortir un "vieux" UUIDGEN.EXE du SDK MS datant de 2003

Voila ce qu'il m'a sorti successivement 10 fois de suite :

abd6b219-cf69-4a5f-a406-31547ce7fe41
22eb973c-1d73-4f5f-a86c-25055066eb81
59cd4d50-264b-4ae8-981a-5cd613eb679c
dbd36d9f-6cd2-4843-9e80-4a04a4206766
599f4be1-5475-429d-933d-231fa95afa65
7facfebf-5e5f-4b55-ae96-3dcb71aa8914
8a2724c1-63bb-4726-95ab-073a7ad8dbb5
b494a7e5-5664-4802-ba7d-cbfac14794b4
4e5e7671-0174-4563-a482-3c7e412a0e56
da6919cf-523c-4c8d-b8b6-fd13575e5913

çà m'a l'air très aléatoire !!!



Certes mais il peut y avoir eu une transformation
(genre de cryptage) qui ne conserve pas les distances.

Par contre ce qui m'ébahit, c'est comment être sûr
de générer une chaîne, non pas unique sur une machine,
mais unique par rapport à tout ce qui peut être généré
sur n'importe quelle machine dans le monde entier.


On ne peut pâs être sûr !

C'est comme pour les algorithmes de hachage (MD5, SHA1, ...), on est "à peu
près sûr" que le résultat du hachage n'a qu'un unique antécédnet, mais il
PEUT y avoir des "collisions" (2 chaines différentes qui conduisent au même
résutlat de hachage)

Avec une "graine" d'irréversibilité comme le temps
universel, ok, mais là apparemment cela fonctionne
en dehors de toute synchronisation avec une horloge.

Il faut supposer qu'ils pêchent des infos sur la config,
la puce, sur l'état de la mémoire, etc.


Une donnée importante, quand elle existe, est l'adresse MAC de la carte
réseau.
Car en principe cette adresse est unique au monde...
(3 octets pour le constructeur + 3 octets pour la carte. En théorie 256^6 =
281474976710656 adresses possibles)

En toute rigueur,
même si c'est théoriquement impossible de garantir
l'unicité, il suffit en pratique que le risque de doublon
soit très faible (rapporté au nombre de machines
tournant sous l'OS, multiplié par le nombres de CLSID
nécessaires en moyenne sur chacune d'elles !).



C'est d'ailleurs ainsi que c'est décrit dans le MSDN :
http://msdn.microsoft.com/en-us/library/microsoft.aspnet.snapin.clsid.aspx
"CLSID is an abbreviation for class identifier, in the same
way that GUID is an abbreviation for globally unique identifier.
Both abbreviations refer to a 128-bit integer with a low
statistical likelihood of being duplicated so that it can be used
as a unique identifier across computers and networks".

Le passage important :
"with a low statistical likelihood of being duplicated "
= avec une faible probabilité de duplication.



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Publicité
Poster une réponse
Anonyme