Warum haben UUID / GUIDs das Format, das sie haben?


14

Globally Unique Identifiers (GUID) sind gruppierte Zeichenfolgen mit einem bestimmten Format, von dem ich annehme, dass es einen Sicherheitsgrund gibt.

Eine GUID wird am häufigsten in Text als Folge von Hexadezimalziffern geschrieben, die in fünf Gruppen unterteilt sind, z.

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

Warum sind GUID / UUID-Zeichenfolgen nicht nur zufällige Bytes, die hexadezimal mit X-Länge codiert wurden?

Diese Textnotation enthält die folgenden Felder, die durch Bindestriche getrennt sind:

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

Es gibt auch mehrere Versionen der UUID-Standards .

UUIDs der Version 4 werden im Allgemeinen intern als unformatiertes 128-Bit-Array gespeichert und in der Regel in einem Format wie dem Folgenden angezeigt:

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


4
Nein, wahrscheinlich nicht aus Sicherheitsgründen. Der Bitstring hat dieselbe Entropie mit oder ohne Bindestriche. Ich würde denken, es ist so, dass GUIDs auf einen Blick erkannt werden können, anstatt "hier ist eine Reihe von Hex-Zeichen, ist das md5 .. oder vielleicht sha1 .. nein, warte, es könnte sein ..." und so weiter. GUIDs bestehen normalerweise nicht nur aus zufälligen Bytes.



Antworten:



2

Die Textdarstellung mit den Bindestrichen unterteilt die vier Felder der Guid / UUID in fünf Gruppen (wobei das letzte Feld nach den ersten beiden Bytes getrennt wird): Guid-Textcodierung

Die Darstellung hat nichts mit Sicherheit zu tun, da es verschiedene Berechnungsmethoden gibt und es sich um eine eindeutige Kennung handeln soll, die nicht unbedingt eine sichere ist.

Der wahrscheinlichste Grund für die Aufteilung der Felder (obwohl der Standard dies nicht erwähnt) ist die Lesbarkeit / Trennung der Komponenten.


2
Das sagt uns, was das Format ist, Informationen, die bereits in Frage kamen. Es erklärt nicht, warum , was das OP gefragt hat.
Keith Thompson

1
Sie werden lediglich in Felder aufgeteilt, um die Lesbarkeit und Identifikation zu verbessern. Vielleicht wurde der letzte wegen seiner Länge weiter gespalten.
Turnkey

1
logisch. Aus dem gleichen Grund werden Telefonnummern, Kreditkartennummern und viele andere lange Nummern häufig in Gruppen aufgeteilt, wenn sie gedruckt oder aufgeschrieben werden.
Jwenting
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.