5.4. UUID Version 4 (UUID version 4)
5.4. UUID Version 4
UUIDv4 est destiné à générer des UUID à partir de nombres véritablement aléatoires ou pseudoaléatoires.
Une implémentation peut générer 128 bits de données aléatoires qui sont utilisées pour remplir les champs UUID dans la figure 8. La version UUID et la variante remplacent ensuite les bits respectifs tels que définis par les sections 4.1 et 4.2.
Alternativement, une implémentation PEUT choisir de générer aléatoirement le nombre exact de bits requis pour random_a, random_b et random_c (122 bits au total), puis concaténer la version et la variante à la position requise.
Pour des directives sur la génération de données aléatoires, voir la section 6.9.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| random_a |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| random_a | ver | random_b |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|var| random_c |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| random_c |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: UUIDv4 Field and Bit Layout (Disposition des champs et des bits UUIDv4)
random_a: Les 48 premiers bits de la disposition qui peuvent être remplis avec des données aléatoires comme spécifié dans la section 6.9. Occupe les bits 0 à 47 (octets 0-5).
ver: Le champ de version de 4 bits tel que défini par la section 4.2, défini sur 0b0100 (4). Occupe les bits 48 à 51 de l'octet 6.
random_b: 12 bits supplémentaires de la disposition qui peuvent être remplis avec des données aléatoires conformément à la section 6.9. Occupe les bits 52 à 63 (octets 6-7).
var: Le champ de variante de 2 bits tel que défini par la section 4.1, défini sur 0b10. Occupe les bits 64 et 65 de l'octet 8.
random_c: Les 62 derniers bits de la disposition suivant immédiatement le champ var à remplir avec des données aléatoires conformément à la section 6.9. Occupe les bits 66 à 127 (octets 8-15).