ClockTools-Blog

Entwicklertools

GUID vs. UUID: Was ist der Unterschied?

GUID und UUID bezeichnen meist dieselbe 128-Bit-Kennung. Version, Format, Sortierung und Systemvereinbarungen bleiben dennoch wichtig.

Von , Entwickler und Herausgeber | | Geprüft gemäß der Redaktionsrichtlinie von ClockTools

ClockTools-Titelbild zum Vergleich von GUID und UUID
Inhaltsverzeichnis

GUID und UUID beschreiben normalerweise die gleiche Art von Kennung: einen 128-Bit-Wert, der so konzipiert ist, dass er eindeutig ist, ohne einen zentralen Zähler nach der nächsten Zahl zu fragen. Die Wörter stammen aus unterschiedlichen Namenstraditionen. UUID ist der Standardbegriff, während GUID besonders häufig in Microsoft-Software und Entwicklertools vorkommt.

Diese kurze Antwort ist nützlich, beantwortet aber nicht alle praktischen Fragen. Zwei Identifikatoren können das Vertraute teilen 8-4-4-4-12 Textform und verwenden Sie dennoch unterschiedliche UUID-Versionen, Generierungsregeln, Sortierverhalten oder binäre Serialisierungskonventionen. Wenn in einer Datenbankspalte, API oder Anwendung „GUID“ angegeben ist, besteht der sicherste Ansatz darin, das akzeptierte Format und die akzeptierte Version zu bestätigen, anstatt sich nur auf die Bezeichnung zu verlassen.

Nutzen Sie den GUID-Generator von ClockTools, wenn Sie im Browser erzeugte UUID-v4- oder UUID-v7-Werte, mehrere Werte auf einmal, Validierung oder exportfertige Formatierung benötigen. Erzeugung und Validierung erfolgen lokal im Browser.

GUID vs UUID: Sind sie gleich?

In den meisten alltäglichen Entwicklungsarbeiten GUID und UUID sind austauschbare Namen für einen 128-Bit-Bezeichner. Der aktuelle IETF-Standard, RFC 9562weist ausdrücklich darauf hin, dass UUIDs auch als global eindeutige Bezeichner bekannt sind. Ein Wert wie 550e8400-e29b-41d4-a716-446655440000 kann daher entweder als UUID oder als GUID bezeichnet werden, ohne seine Zeichen zu ändern.

Entscheidend ist die Unterscheidung zwischen einem Namen und einem Erzeugungsverfahren. Die Bezeichnung GUID verrät nicht, ob ein Wert Version 4, Version 7, eine ältere zeitbasierte Version oder eine plattformspezifische Konstruktion verwendet. Auch UUID garantiert nicht, dass eine Anwendung jede standardisierte Version akzeptiert. Die Bezeichnung benennt den allgemeinen Datentyp; Version und zugehörige Vereinbarungen bestimmen sein Verhalten.

FrageGUIDUUID
Typischer KontextMicrosoft-APIs, .NET, Windows, SQL ServerInternetstandards, Datenbanken, verteilte Systeme, APIs
Übliche Größe128 Bits128 Bits
Vertraute Textform8-4-4-4-12 Hexadezimalgruppen8-4-4-4-12 Hexadezimalgruppen
Gibt der Name eine Version an?NeinNein
Können sich die Begriffe auf denselben Wert beziehen?JaJa

Beim Vergleich von GUID und UUID ist deshalb weniger wichtig, welches Wort „richtig“ ist, als welche Systemanforderungen dahinterstehen.

Warum gibt es zwei Namen?

UUID bedeutet universell eindeutige Kennung. Dies ist die Terminologie der IETF-Standards, die Aufbau, Varianten, Versionen, Textdarstellung und Aspekte der Erzeugung definieren. GUID bedeutet global eindeutige Kennung und hat sich auf Microsoft-Plattformen fest etabliert. Der .NET-Typ System.Guid ist ein bekanntes Beispiel.

Beide Namen haben überlebt, weil Software-Ökosysteme ihr Vokabular aus Kompatibilitätsgründen beibehalten. Eine Microsoft-API kann a verfügbar machen Guid, ein PostgreSQL-Schema kann a verwenden uuid Spalte, und eine JSON-API kann das Feld aufrufen id. Alle drei können denselben kanonischen Textwert tragen.

Es ist nicht nötig, jedes GUID-Feld allein wegen der Terminologie in UUID umzubenennen. Dokumentieren sollten Sie jedoch die akzeptierte Version, die Bedeutung der Groß-/Kleinschreibung, die Zulässigkeit geschweifter Klammern und die Serialisierung beim Überschreiten von Systemgrenzen.

Wie sieht eine UUID aus?

Die übliche, für Menschen lesbare Form enthält 32 Hexadezimalziffern, die in fünf Gruppen unterteilt sind:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Die Gruppenlängen sind 8, 4, 4, 4 und 12. Einschließlich vier Bindestrichen ist die kanonische Zeichenfolge 36 Zeichen lang. M gibt das Versionsnibble in vom Standard abgedeckten Layouts an, während Bits durch dargestellt werden N Identifizieren Sie die Variante. Zum Beispiel die 4 in 550e8400-e29b-41d4-a716-446655440000 identifiziert UUID Version 4.

ClockTools-Diagramm zum Textaufbau einer 128-Bit-UUID mit Versions- und Variantenfeld
ClockTools-Diagramm zum Textaufbau einer 128-Bit-UUID mit Versions- und Variantenfeld

Die hexadezimale Schreibweise ändert den numerischen Wert nicht. A716 und a716 repräsentieren die gleichen Bits. Bindestriche, geschweifte Klammern usw urn:uuid: Präfix oder eine kompakte Form können die von einem Parser akzeptierte Zeichenfolge ändern, sie ändern jedoch nicht unbedingt den zugrunde liegenden Bezeichner. Das ist einer der Gründe, warum ClockTools die Generierung von der Formatierung trennt.

Wie unterscheiden sich UUID v4 und UUID v7?

UUID v4 ist die verbreitete Zufallsversion. Die meisten verfügbaren Bits stammen aus einer Zufalls- oder Pseudozufallsquelle; die vorgeschriebenen Versions- und Variantenbits werden festgesetzt. Sie eignet sich gut, wenn Kennungen ihre Erzeugungsreihenfolge nicht offenlegen sollen und viele Clients oder Dienste sie unabhängig erzeugen.

UUID v7 ist zeitlich geordnet. Die ersten 48 Bits enthalten einen Unix-Epochenzeitstempel in Millisekunden, gefolgt von Version, Variante und Zufallsdaten. Später erzeugte Werte werden im Allgemeinen hinter früheren einsortiert. Das kann geordnete Indizes und Protokolle begünstigen, weil neue Datensätze seltener an verstreuten Positionen im Schlüsselraum landen.

Zeitlich geordnet bedeutet nicht lückenlos fortlaufend. Mehrere in derselben Millisekunde erzeugte UUID-v7-Werte benötigen weitere Daten zur Unterscheidung; auch das Verhalten der Uhr ist wichtig. Zeitliche Ordnung bedeutet ebenfalls nicht Geheimhaltung: Ein v7-Wert legt absichtlich die ungefähre Erzeugungszeit offen. RFC 9562 enthält die verbindlichen Layouts und Hinweise zur Erzeugung beider Versionen.

Welche Version sollten Sie wählen?

Wählen Sie die Version, die zum empfangenden System und dem von Ihnen benötigten Verhalten passt.

AnforderungNormalerweise bevorzugenWarum
Breite Kompatibilität mit bestehenden UUID-fähigen SystemenUUID v4Es ist ausgereift, vertraut und allgemein akzeptiert
Keine Informationen zur Erstellungszeit im BezeichnerUUID v4Der Wert ist eher zufällig als zeitlich geordnet
Schlüssel, die ungefähr dem Erstellungszeitpunkt folgenUUID v7Das Zeitstempel-Präfix unterstützt die chronologische Sortierung
Die vorhandene API erfordert ausdrücklich eine VersionErforderliche VersionKompatibilität geht vor Präferenz
Für den Menschen sichtbarer KurzcodeStandardmäßig keine von beidenUUIDs sind Bezeichner, keine benutzerfreundlichen Bestätigungscodes
Authentifizierungs-Token oder Geheimnis zum Zurücksetzen des PasswortsEin dediziertes sicheres Token-DesignEinzigartigkeit und Geheimhaltung sind unterschiedliche Eigenschaften

Wechseln Sie nicht die Version, nur weil eine neuer klingt. Überprüfen Sie zuerst Ihren Datenbanktreiber, Ihre Validierungsbibliothek, Ihr API-Schema und Ihre nachgeschalteten Verbraucher. Ein vor Jahren geschriebener Validator lehnt möglicherweise einen gültigen v7-Wert ab, da er nur ältere Versionen erkennt.

Kann dieselbe UUID unterschiedlich aussehen?

Ja. Die gleichen zugrunde liegenden 128-Bits können in Standard-Kleinbuchstaben, Großbuchstaben, geschweiften Klammern, Text in Anführungszeichen, kompakter Hexadezimalzahl oder URN-Form dargestellt werden. ClockTools kann generierte Werte auch als Zeilen, CSV, JSON oder SQL-freundliche Ausgabe packen. Hierbei handelt es sich um Darstellungsoptionen, nicht um neue Bezeichner.

Beim binären Austausch ist besondere Sorgfalt nötig. Manche Plattform-APIs geben GUID-Felder oder Byte-Arrays historisch bedingt in einer anderen Reihenfolge aus als der Netzwerk-Bytereihenfolge moderner UUID-Spezifikationen. Die Hin- und Rückumwandlung einer Zeichenfolge kann korrekt aussehen, während sie bei 16 Rohbytes fehlschlägt. Dokumentieren Sie beim Austausch binärer UUIDs die Bytereihenfolge und testen Sie mit einem bekannten Wert, statt identische Serialisierung aller Bibliotheken vorauszusetzen.

Nutzen Sie für URL-Abfragezeichenfolgen oder Pfadsegmente möglichst die kanonische Form. Muss ein umgebender Wert maskiert werden, kann der ClockTools URL-Encoder kann den gesamten Parameter kodieren, ohne den Bezeichner selbst zu ändern.

Wie sollten Sie GUIDs und UUIDs speichern?

Bevorzugen Sie den nativen UUID- oder Unique-Identifier-Typ einer Datenbank, wenn dieser verfügbar ist und von Ihren Tools unterstützt wird. Ein nativer Typ validiert die Form und speichert normalerweise den 128-Bit-Wert kompakter als eine Textspalte mit 36 Zeichen. Es kann Schema-Lesern auch die Absicht klarer machen.

Die Textspeicherung bleibt sinnvoll, wenn einem System ein nativer Typ fehlt oder die Kompatibilität eine Zeichenfolge erfordert. Normalisieren Sie in diesem Fall eine Darstellung, definieren Sie die zulässige Länge und vermeiden Sie das Mischen von geschweiften Klammern, URNs, Großbuchstaben und kompakten Werten in derselben Spalte. Eine einheitliche Formatierung vereinfacht Gleichheitsprüfungen, Exporte und Supportarbeiten.

Das Indexverhalten hängt von Datenbank, Arbeitslast, Einfügemuster und Indexaufbau ab. UUID v7 kann die Lokalität bei manchen Primärschlüssel-Workloads mit vielen angehängten Datensätzen verbessern, garantiert aber nicht allgemein höhere Leistung. Messen Sie mit Ihrer eigenen Datenbank und realistischen Daten. Halten Sie fachliche Bedeutung in separaten Spalten fest; eine Kennung ersetzt keinen Erzeugungszeitstempel, keine Kundennummer und keine Zugriffsregel.

Wie kann ClockTools sie generieren und validieren?

Der Online-Generator für GUID und UUID bietet einen klar umrissenen Ablauf:

  1. Wählen Sie UUID v4 für zufällige Bezeichner oder UUID v7 für zeitlich geordnete Bezeichner.
  2. Wählen Sie eine Anzahl von 1 bis 1,000.
  3. Wählen Sie die Formatierung Standard, Großbuchstaben, geschweifte Klammern, Anführungszeichen, Kompakt oder URN.
  4. Wählen Sie „Plain“, „Base64“, „Base64URL“ oder „URL-Kodierung“, wenn das Ziel dies erfordert.
  5. Exportieren Sie als Zeilen, CSV, JSON oder SQL, oder kopieren Sie die Ergebnisse direkt.
  6. Fügen Sie einen vorhandenen Wert in den Validator ein, um seine normalisierte Form, Version, Variante und erkannte Sonderwerte zu überprüfen.

Bei der Generierung wird die kryptografische Zufallsquelle des Browsers verwendet. UUID v4 setzt die erforderlichen Versions- und Variantenbits. UUID v7 kombiniert den Millisekundenwert der aktuellen Unix-Epoche mit Zufallsdaten und den erforderlichen Layout-Bits. Die Seite muss für diese Vorgänge keine generierten Kennungen hochladen.

Nutzen Sie beim Vergleich zweier exportierter Listen den Text-Diff-Checker, um fehlende, doppelte oder umformatierte Einträge zu erkennen, ohne jede Zeile manuell zu prüfen.

Welche Fehler sollten Sie vermeiden?

Der erste Fehler ist, „eindeutig“ mit „Kollisionen sind unmöglich“ gleichzusetzen. Korrekt erzeugte UUIDs machen zufällige Kollisionen äußerst unwahrscheinlich. Software sollte dennoch eine Eindeutigkeitsbedingung nutzen, wenn Duplikate schaden würden. Eine defekte Zufallsquelle, kopierte Testdaten, ein Importfehler oder ein Anwendungsfehler können auch bei korrekter Mathematik Duplikate erzeugen.

Der zweite Fehler ist, eine UUID als Autorisierungsnachweis zu verwenden. Eine schwer erratbare Kennung kann zufälliges Auffinden erschweren, erteilt allein aber keine sichere Berechtigung. Prüfen Sie bei jeder geschützten Anfrage die Zugriffsrechte des authentifizierten Nutzers.

Der dritte Fehler besteht darin, die Darstellung stillschweigend zu ändern. Das Entfernen von Bindestrichen, das Dekodieren von Base64 oder das Konvertieren in Bytes sollte umkehrbar sein und getestet werden. Behalten Sie einen kanonischen Wert in Protokollen, damit Betreiber ihn dienstübergreifend nachverfolgen können. Wenn ein Parser einen Bezeichner ablehnt, validieren Sie die Version und das Format, bevor Sie einen Ersatz generieren. Das Ersetzen einer ID kann Referenzen zerstören, die bereits darauf verweisen.

Häufig gestellte Fragen

Sind GUID und UUID dasselbe?

Normalerweise ja. Beide Begriffe beziehen sich üblicherweise auf einen 128-Bit-Bezeichner mit derselben Standardtextform. UUID ist der IETF-Standardbegriff, während GUID besonders häufig in Microsoft-Ökosystemen vorkommt.

Ist ein GUID immer eine UUID Version 4?

Nein. Das Wort GUID identifiziert keine UUID-Version. Ein GUID-förmiger Wert kann Version 4, Version 7, eine andere standardisierte Version oder eine plattformspezifische Generierungsmethode verwenden.

Sollte ich UUID v4 oder UUID v7 verwenden?

Verwenden Sie v4, wenn Sie einen weitgehend kompatiblen Zufallsbezeichner ohne eingebettete Erstellungszeit wünschen. Ziehen Sie Version 7 in Betracht, wenn chronologische Sortierung und Indexlokalität wichtig sind, vorausgesetzt, dass jedes empfangende System dies unterstützt.

Wie viele Zeichen hat eine Standard-GUID oder -UUID?

Die kanonische Textform besteht aus 32 hexadezimalen Ziffern und vier Bindestrichen, also insgesamt 36 Zeichen. Klammern, URN-Präfixe, kompakte Formatierungen oder Anführungszeichen können die angezeigte Länge ändern.

Kann ich eine UUID als geheimes Token verwenden?

Setzen Sie Eindeutigkeit nicht mit Geheimhaltung gleich. Authentifizierungs- und Reset-Tokens benötigen ein ausdrücklich für sichere, unvorhersehbare Zugangsdaten entwickeltes Verfahren sowie Ablauf- und Autorisierungsprüfungen.

Lädt ClockTools generierte UUIDs hoch?

Der GUID-Generator erzeugt, formatiert und validiert Werte lokal im Browser. Für die zufälligen Anteile unterstützter UUIDs nutzt er die kryptografische Zufallsquelle des Browsers.

Über den Autor

Vigneshwaran Vijayakumar

Gründer, Entwickler und Herausgeber von ClockTools | Digital Marketing Manager | Indien

Vigneshwaran ist Ingenieur mit jahrzehntelanger technischer Erfahrung, unter anderem als Digital Marketing Manager in Dubai. Seine Arbeit verbindet Datenanalyse, Suchmaschinenoptimierung, Conversion-Rate-Optimierung, Content-Systeme, visuelle Produktion sowie angewandte KI und maschinelles Lernen. Bei ClockTools nutzt er diese fachübergreifende Erfahrung für spezialisierte Browser-Tools und praxisnahe Leitfäden, die ihre Quellen berücksichtigen.

LinkedIn-Profil