Zum Hauptinhalt springen

5.4. UUID Version 4 (UUID Version 4)

5.4. UUID Version 4

UUIDv4 ist für die Generierung von UUIDs aus wirklich zufälligen oder pseudozufälligen Zahlen gedacht.

Eine Implementierung kann 128 Bits zufälliger Daten generieren, die verwendet werden, um die UUID-Felder in Abbildung 8 zu füllen. Die UUID-Version und -Variante ersetzen dann die jeweiligen Bits, wie in den Abschnitten 4.1 und 4.2 definiert.

Alternativ KANN eine Implementierung die exakt erforderliche Anzahl von Bits für random_a, random_b und random_c (insgesamt 122 Bits) zufällig generieren und dann die Version und Variante an der erforderlichen Position verketten.

Für Richtlinien zur Generierung zufälliger Daten siehe Abschnitt 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 8: UUIDv4 Feld- und Bit-Layout

random_a: Die ersten 48 Bits des Layouts, die mit zufälligen Daten gefüllt werden können, wie in Abschnitt 6.9 angegeben. Belegt Bits 0 bis 47 (Oktette 0-5).

ver: Das 4-Bit-Versionsfeld, wie in Abschnitt 4.2 definiert, auf 0b0100 (4) gesetzt. Belegt Bits 48 bis 51 von Oktett 6.

random_b: 12 weitere Bits des Layouts, die mit zufälligen Daten gefüllt werden können, wie in Abschnitt 6.9. Belegt Bits 52 bis 63 (Oktette 6-7).

var: Das 2-Bit-Variantenfeld, wie in Abschnitt 4.1 definiert, auf 0b10 gesetzt. Belegt Bits 64 und 65 von Oktett 8.

random_c: Die letzten 62 Bits des Layouts unmittelbar nach dem var-Feld, die mit zufälligen Daten gefüllt werden, wie in Abschnitt 6.9. Belegt Bits 66 bis 127 (Oktette 8-15).