UUID Generator
UUID Generator
Erzeuge UUIDs nach RFC 4122 und RFC 9562 (v1, v4, v5, v7). Mit Batch-Generierung, Analyse und Format-Optionen für Entwickler.
Hinweis: Alle UUIDs werden lokal im Browser mit dem Web Crypto API (crypto.getRandomValues) erzeugt – kryptographisch sicher und ohne Server-Kommunikation. UUIDs folgen RFC 4122 (v1-v5) und RFC 9562 (v6-v8).
Inhaltsverzeichnis
Schnellübersicht
- UUID v4: Zufällige UUIDs (Standard für die meisten Anwendungen)
- UUID v1: Zeitbasiert mit MAC-Adresse
- UUID v5: Deterministisch aus Namespace + Name (SHA-1)
- UUID v7: Zeitbasiert, sortierbar (RFC 9562, moderne Alternative)
- Batch: Bis zu 100 UUIDs auf einmal
- Analyse: Version, Variante, Zeitstempel extrahieren
- Format: Mit/ohne Bindestriche, Groß/Klein, Base64
- Theorie: Über UUIDs und deren Verwendung
1. UUID Generator
Wähle eine UUID-Version und konfiguriere die Ausgabe.
- 122 zufällige Bits: Kryptographisch sicher (Web Crypto API)
- Empfohlen für: Die meisten Anwendungen, Datenbanken, IDs
- Kollisionswahrscheinlichkeit: Praktisch null
UUID v1 – Zeit + MAC
Zeitbasiert mit MAC-Adresse des Rechners:
- 60 Bit: Zeitstempel (100 ns)
- 14 Bit: Clock Sequence
- 48 Bit: Node-ID (MAC)
- Sortierbar: Nach Zeit
UUID v4 – Zufällig
122 zufällige Bits – Standard für die meisten Anwendungen:
- 4 Bit: Version (0100)
- 2 Bit: Variante (10)
- 122 Bit: Zufall
- Nicht sortierbar
UUID v5 – Deterministisch
Aus Namespace + Name via SHA-1:
- Deterministisch: Reproduzierbar
- SHA-1: 160-Bit-Hash
- Empfohlen für: URLs, DNS, Emails
- Nicht sortierbar
UUID v7 – Zeit + Zufall
Moderne Alternative mit Unix-Zeit und Zufall:
- 48 Bit: Unix-Zeit (ms)
- 4 Bit: Version (0111)
- 74 Bit: Zufall
- Sortierbar & sicher
Wussten Sie schon? Die Wahrscheinlichkeit, dass zwei zufällig generierte UUID v4 kollidieren, ist so gering, dass man ~2,7 × 10¹⁸ UUIDs pro Sekunde über 100 Jahre generieren müsste, um eine 50%-Kollisionschance zu haben. Zum Vergleich: Das sind mehr UUIDs, als es Sekunden seit dem Urknall gibt. Deshalb sind UUIDs der De-facto-Standard für verteilte Systeme – kein zentraler Server nötig, keine Koordination zwischen Knoten!
2. Theorie – UUIDs
Verstehe die Grundlagen von UUIDs und deren Versionen.
Was ist eine UUID?
UUID (Universally Unique Identifier) ist eine 128-Bit-Zahl:
- 36 Zeichen: 32 Hex + 4 Bindestriche
- Format: 8-4-4-4-12 Hex-Gruppen
- Eindeutig: Weltweit kollisionsfrei
- Standard: RFC 4122 / RFC 9562
- Beispiel: 550e8400-e29b-41d4-a716-446655440000
UUID v1 vs. v7
Beide sind zeitbasiert und sortierbar:
- v1: MAC-Adresse als Node-ID (Datenschutz-Problem)
- v7: Zufällige Node-Bits (Datenschutz)
- v1: 100-ns-Intervalle seit 1582
- v7: Unix-Zeit in ms (48 Bit)
UUID v3 vs. v5
Beide sind deterministisch:
- v3: Verwendet MD5 (veraltet)
- v5: Verwendet SHA-1 (empfohlen)
- Input: Namespace + Name
- Standard-Namespaces: DNS, URL, OID, X500
Best Practices
- Standard: UUID v4 für die meisten Fälle
- Datenbanken: UUID v7 als Primärschlüssel
- Deterministisch: UUID v5 für URLs/Namen
- v1 vermeiden: MAC-Leak (Datenschutz)
- Format: Lowercase mit Bindestrich
- Speicherung: Als BINARY(16) statt CHAR(36)
Wussten Sie schon? Die NASA hat bei den Apollo-Missionen eine Vorläufer-Technik verwendet: Die "Apollo Guidance Computer"-Programme nutzten 15-Bit-Adressen mit einer Kollisionswahrscheinlichkeit von 1:32.768. Moderne UUIDs hingegen haben 122 Bit Zufall – die Kollisionswahrscheinlichkeit ist so gering, dass man 2,7 × 10¹⁸ UUIDs pro Sekunde über 100 Jahre erzeugen müsste. Selbst wenn jedes Atom im beobachtbaren Universum eine UUID hätte, würden diese nur einen Bruchteil des möglichen Adressraums füllen.
3. Geschichte der UUIDs
Von Apollo zu RFC 9562 – die Evolution der universellen IDs.
Apollo & OSF DCE
Die Open Software Foundation (OSF) entwickelt im Rahmen des Distributed Computing Environment (DCE) das erste UUID-System. Ziel: Eindeutige IDs in verteilten Systemen.
ISO/IEC 11578
Die ISO standardisiert UUIDs im ISO/IEC 11578-Standard. Erste formale Definition der 128-Bit-Struktur und Versionen.
RFC 4122 – UUID-Standard
RFC 4122 standardisiert UUIDs im Internet. Definiert die Versionen v1 bis v5 sowie die Namespaces DNS, URL, OID und X500. Wird De-facto-Standard.
UUID in Programmiersprachen
Java 5.0, Python 2.5, PHP 5 und andere Sprachen integrieren UUID-Generierung. UUIDs werden Mainstream für Software-IDs.
Datenschutz-Diskussion
UUID v1 mit MAC-Adresse steht in der Kritik: Sie leakt Hardware-Informationen und ermöglicht Tracking. UUID v4 wird Standard für öffentliche Anwendungen.
UUID v6, v7, v8 (Entwurf)
Die IETF arbeitet an neuen UUID-Versionen: v6 (sortierbar), v7 (Unix-Zeit + Zufall), v8 (benutzerdefiniert). Moderne Datenbank-Alternativen.
RFC 9562 – Neue UUIDs
RFC 9562 veröffentlicht: UUID v1-v8 sind offiziell standardisiert. v7 wird empfohlen für moderne Datenbanken und Verteilte Systeme.
UUIDs überall
UUIDs sind Standard in Datenbanken, Cloud-Diensten, Microservices und APIs. UUID v7 wird zunehmend als Primärschlüssel in verteilten Datenbanken eingesetzt.
4. FAQ – Häufige Fragen
Häufige Fragen zu UUIDs
UUID und GUID sind im Wesentlichen dasselbe:
- UUID: Universally Unique Identifier (RFC-Standard)
- GUID: Globally Unique Identifier (Microsoft-Begriff)
Microsoft verwendet den Begriff GUID in Windows APIs und .NET:
- Format:
{550e8400-e29b-41d4-a716-446655440000} - Mit geschweiften Klammern als Konvention
- Ansonsten identisch zu UUID v4
Fazit: GUID ist Microsofts Name für UUID.
| Anwendung | Empfehlung |
|---|---|
| Standard-Anwendungen | UUID v4 |
| Datenbank-Primärschlüssel | UUID v7 |
| Deterministisch aus URL/DNS | UUID v5 |
| Reproduzierbare IDs | UUID v5 |
| Zeitbasiert (Legacy) | UUID v1 (nur intern) |
Faustregel:
- Unsicher? → UUID v4
- Sortierbar? → UUID v7
- Reproduzierbar? → UUID v5
Theoretisch ja, praktisch nein.
UUID v4 Kollisions-Wahrscheinlichkeit:
- 122 zufällige Bits = 2^122 Möglichkeiten
- Um 50% Kollisionschance zu haben:
- 2,7 × 10^18 UUIDs/s über 100 Jahre generieren
Vergleich:
- Sandkörner auf der Erde: ~10^19
- Atome im Universum: ~10^80
- Sekunden seit Urknall: ~4 × 10^17
Fazit: In der Praxis ist eine Kollision ausgeschlossen.
UUIDs sind NICHT als Sicherheitsmerkmal gedacht!
- Zweck: Eindeutigkeit, nicht Geheimhaltung
- v4: Zufällig, aber nur 122 Bit Entropie
- v1: Enthält Zeit + MAC-Adresse (leakt Infos)
- Enumerierbar: Bei v1 und v7 vorhersagbar
Wichtig:
- Nicht als Token: Verwende sichere Zufalls-Token (256 Bit)
- Nicht als Passwort: UUIDs sind nicht geheim genug
- Session-IDs: Mindestens 256 Bit Entropie
Empfehlung: Für Auth-Token crypto.randomBytes(32) statt UUID.
UUID v7 kombiniert die Vorteile von v1 und v4:
| Merkmal | UUID v1 | UUID v4 | UUID v7 |
|---|---|---|---|
| Sortierbar | ✓ Ja | ✗ Nein | ✓ Ja |
| Datenschutz | ✗ MAC-Leak | ✓ Sicher | ✓ Sicher |
| DB-Performance | ✓ Gut | ✗ Fragmentierung | ✓ Sehr gut |
| Zeitstempel | 1582-basiert | ✗ Keiner | Unix-Zeit |
Warum wichtig für Datenbanken?
- B-Tree-Index: Sortierte Einträge = schneller
- Weniger Page-Splits: Neue Einträge am Ende
- Cache-freundlich: Sequentielle Zugriffe
Empfohlen für: PostgreSQL, MySQL 8.0+, MongoDB.
Nicht als String (CHAR(36)) – sondern BINARY(16)!
| Format | Größe | Performance |
|---|---|---|
| CHAR(36) | 36 Bytes | Langsam |
| BINARY(16) | 16 Bytes | Schnell |
| UUID nativ | 16 Bytes | Sehr schnell |
Beispiele:
- MySQL 8.0+:
UUID_TO_BIN(uuid, 1) - PostgreSQL: Nativ
uuidDatentyp - SQL Server: Nativ
uniqueidentifier - MongoDB: Nativ
UUID(BinData)
Vorteil: 2× weniger Speicher, 3× schnellere Queries.
Das 13. Hex-Zeichen (nach dem 3. Bindestrich) zeigt die Version:
- Position: 15. Zeichen (Index 14)
- Format:
xxxxxxxx-xxxx-Vxxx-...
Beispiele:
f47ac10b-58cc-11cf-...→ v1550e8400-e29b-41d4-...→ v4886313e1-3b8a-5372-...→ v5017f22e2-79b0-7cc3-...→ v7
Programmatisch:
const version = parseInt(uuid.charAt(14), 16);
URN (Uniform Resource Name) ist eine standardisierte Notation:
- Format:
urn:uuid:550e8400-e29b-41d4-a716-446655440000 - Zweck: UUIDs als eindeutige Ressourcen-IDs
- Standard: RFC 8141
Verwendung:
- XML: Für Referenzen in Dokumenten
- RDF: Semantische Ressourcen-IDs
- APIs: Für Content-IDs
Vorteil: Standardisierte Notation mit Namespace-Kennung.
Nachteil: Länger als reine UUID (45 Zeichen).
Zusammenfassung
Die wichtigsten Punkte
- UUID: 128-Bit-Identifikator, 36 Zeichen mit Bindestrichen
- UUID v4: Zufällig – Standard für die meisten Anwendungen
- UUID v1: Zeitbasiert mit MAC – nur intern (Datenschutz)
- UUID v5: Deterministisch aus Namespace + Name (SHA-1)
- UUID v7: Unix-Zeit + Zufall – perfekt für Datenbanken
- Format: 8-4-4-4-12 Hex-Gruppen
- Version: 13. Hex-Zeichen zeigt die Version
- Speicherung: BINARY(16) statt CHAR(36)
- Kollision: Praktisch ausgeschlossen (2^122)
- Unser Tool: UUID-Generator für v1, v4, v5, v7 mit Analyse
Weitere Entwickler-Tools
Simuliere HTTP-API-Antworten mit Status-Codes und JSON-Body.
Zum ToolJSON formatieren, validieren und verschönern.
Zum ToolReguläre Ausdrücke testen und debuggen.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum Tool