Pourquoi les UUID / GUID sont-ils dans le format qu'ils sont?

14

Les identificateurs uniques globaux (GUID) sont une chaîne groupée avec un format spécifique qui, je suppose, a une raison de sécurité.

Un GUID est le plus souvent écrit dans le texte comme une séquence de chiffres hexadécimaux séparés en cinq groupes, tels que:

3F2504E0-4F89-11D3-9A0C-0305E82C3301

Pourquoi les chaînes GUID / UUID ne sont-elles pas simplement des octets aléatoires codés en utilisant un hexadécimal de longueur X?

Cette notation de texte contient les champs suivants, séparés par des tirets:

| Hex digits | Description
|-------------------------
| 8            | Data1
| 4            | Data2
| 4            | Data3
| 4            | Initial two bytes from Data4
| 12           | Remaining six bytes from Data4

Il existe également plusieurs versions des normes UUID .

Les UUID de la version 4 sont généralement stockés en interne sous la forme d'un tableau brut de 128 bits et sont généralement affichés dans un format comme:

uuid: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

Xeoncross
la source
4
Non, ce n'est probablement pas pour des raisons de sécurité, la chaîne de bits a la même entropie avec ou sans tirets. Je pense que c'est pour que les GUID puissent être reconnus en un coup d'œil au lieu d'aller "voici un tas de caractères hexadécimaux, est-ce que md5 .. ou peut-être sha1 .. non, attendez, ça pourrait être ..." et ainsi de suite. De plus, les GUID ne sont généralement pas uniquement des octets aléatoires.
Question similaire du format
Praveen

Réponses:

2

La représentation textuelle avec les tirets sépare les quatre champs du Guid / UUID en cinq groupes (le dernier champ étant lui-même séparé après les deux premiers octets): Encodage du texte Guid

La représentation n'a rien à voir avec la sécurité, car il existe différentes méthodes de calcul et est destinée à être un identifiant unique pas nécessairement sécurisé.

La raison la plus probable pour laquelle les champs sont divisés (même si la norme ne le mentionne pas) est pour la lisibilité / séparation des composants.

Clé en main
la source
2
Cela nous dit quel est le format, des informations qui étaient déjà en question. Cela n'explique pas pourquoi , c'est ce que le PO demandait.
Keith Thompson
1
Il s'agit simplement de les séparer dans les champs, probablement pour une meilleure lisibilité et identification. Peut-être que le dernier a été divisé en raison de sa longueur.
Clé en main
1
logique. Les mêmes numéros de téléphone, numéros de carte de crédit et de nombreux autres numéros longs sont souvent divisés en groupes lorsqu'ils sont imprimés ou écrits.
jwenting