🌐 DE

🆔 UUID-Generator

Erzeugen Sie universell eindeutige Kennungen (UUIDs). Erstellen Sie Standard-UUIDs für Datenbankschlüssel, API-Tokens, Sitzungs-IDs und vieles mehr.

Versionsinformationen

v1 (zeitstempelbasiert)
Basiert auf MAC-Adresse und Zeitstempel. Zeitlich geordnet.
v4 (zufällig)
Vollständig zufällig. Am häufigsten verwendet.
v7 (nach Zeitstempel sortierbar)
Nach Zeitstempel sortierbar. Neuester Standard.
RATGEBER

Mehr erfahren

01

1. Was ist eine UUID?

Eine UUID (Universally Unique Identifier, universell eindeutige Kennung) ist ein 128-Bit-Identifikator, der Eindeutigkeit ohne zentrale Koordination garantiert. Sie wird hexadezimal im Format 8-4-4-4-12 dargestellt (z. B. 550e8400-e29b-41d4-a716-446655440000), wobei die Wahrscheinlichkeit einer Duplizierung äußerst gering ist, egal wo auf der Welt sie erzeugt wird. Sie wird als Primärschlüssel in Datenbanken, als Sitzungs-ID, Dateiname, API-Token und vieles mehr verwendet. Auch bekannt als GUID (Globally Unique Identifier), definiert durch den Standard RFC 4122.

02

2. Vergleich der verschiedenen UUID-Versionen

Es gibt 5 UUID-Versionen, die jeweils unterschiedliche Erzeugungsmethoden verwenden. v1 kombiniert MAC-Adresse und Zeitstempel, um die zeitliche Reihenfolge zu garantieren, birgt jedoch Sicherheitsrisiken durch die Offenlegung der MAC-Adresse. v4 ist vollständig zufällig, am weitesten verbreitet und bietet eine hohe Unvorhersehbarkeit. v7 ist die neueste, 2024 standardisierte Version, nach Zeitstempel sortierbar und vorteilhaft für die Datenbankindizierung. v2 dient der DCE-Sicherheit, während v3/v5 namensraumbasiert für spezielle Anwendungsfälle sind.

03

3. Anwendungsfälle für UUIDs

UUIDs sind in vielen Situationen nützlich. In verteilten Systemen können eindeutige Kennungen ohne zentralen Server erzeugt werden, was eine ausgezeichnete Skalierbarkeit bietet. In Datenbanken vermeidet die Verwendung von UUIDs als Primärschlüssel anstelle von automatisch inkrementierten IDs Konflikte beim Zusammenführen. In Microservice-Architekturen dienen sie der Nachverfolgung der Kommunikation zwischen Diensten. Sie werden auch häufig verwendet, um Namenskollisionen bei Datei-Uploads zu vermeiden, temporäre Tokens zu erzeugen, Ereignisse zu verfolgen und Korrelationen in Protokollen zu analysieren.

04

4. Leitfaden zur Wahl zwischen v1, v4 und v7

Die Wahl der UUID-Version hängt von den Anforderungen ab. Wählen Sie v1, wenn die zeitliche Reihenfolge wichtig ist und die Offenlegung der MAC-Adresse akzeptabel ist. Allerdings ermöglicht die MAC-Adresse die Rückverfolgung des Erzeugungsorts, was Datenschutzbedenken aufwirft. v4 ist die beste Wahl, wenn Sicherheit wichtig ist und die Reihenfolge keine Rolle spielt. Vollständig zufällig, unvorhersehbar und ohne Preisgabe personenbezogener Informationen. v7 wird empfohlen, wenn Sie sowohl zeitliche Sortierung als auch Sicherheit wünschen. Die zeitstempelbasierte Sortierung bietet gute Datenbankleistung und weniger Indexfragmentierung.

05

5. Prinzip der UUID-Eindeutigkeitsgarantie

Die Kollisionswahrscheinlichkeit von UUIDs ist astronomisch gering. Bei v4 sind 122 Bit zufällig, was 2^122 = 5,3 x 10^36 mögliche Kombinationen ergibt. Selbst bei einer Erzeugung von 1 Milliarde pro Sekunde würde es 85 Jahre dauern, um eine Kollisionswahrscheinlichkeit von 50 % zu erreichen. v1 garantiert zeitliche Eindeutigkeit durch Zeitstempel (60 Bit) und Uhrensequenz (14 Bit) sowie räumliche Eindeutigkeit durch die MAC-Adresse (48 Bit). v7 kombiniert Unix-Zeitstempel (48 Bit) und einen zufälligen Teil (74 Bit), um sowohl zeitliche Reihenfolge als auch Eindeutigkeit zu gewährleisten.

06

6. Verwendung von UUIDs in Datenbanken

Die Verwendung von UUIDs als Primärschlüssel in Datenbanken bietet mehrere Vorteile. In verteilten Umgebungen kann jeder Knoten Kennungen unabhängig erstellen, ohne einen zentralen ID-Generator, was eine ausgezeichnete Skalierbarkeit bietet. Es gibt keine Konflikte bei der Datenzusammenführung, und ein sequenzielles Erraten ist selbst bei Offenlegung in einer URL unmöglich, was Sicherheitsvorteile bietet. Es gibt jedoch auch Nachteile. Mit 16 Byte ist die UUID größer als Ganzzahlen (4 bis 8 Byte), und die Zufälligkeit von v4 kann die Indizierungsleistung beeinträchtigen. In diesem Fall verbessert die Verwendung von v7 mit chronologischer Sortierung die Leistung von B-Baum-Indizes.