UUID/GUID Generator Online

Generieren Sie universell eindeutige Kennungen (UUID/GUID) sicher und zufällig in Sekunden. Ideal für Softwareentwicklung, Datenbanken und verteilte Systeme.

Standardformat: 8-4-4-4-12 hexadezimale Zeichen
Beispiel: 550e8400-e29b-41d4-a716-446655440000

Was ist UUID/GUID?

UUID (Universally Unique Identifier) und GUID (Globally Unique Identifier) sind austauschbare Begriffe für 128-Bit-eindeutige Kennungen. Sie wurden entwickelt, um eindeutige IDs ohne zentrale Koordination zu generieren und werden häufig in Datenbanken, REST-APIs und verteilten Systemen verwendet.

UUID-Versionen

UUID v4 - Zufällig (Empfohlen)

Zufällig generiert mit starker Kryptografie. Kollisionswahrscheinlichkeit: ~1 zu 2¹²² (Billionen von Billionen). Ideal für die meisten Fälle: Primärschlüssel, Sitzungstoken, Ressourcenkennungen.

Beispiel: 550e8400-e29b-41d4-a716-446655440000

UUID v1 - Timestamp-basiert

Enthält Zeitstempel (60 Bit) + MAC-Adresse des Computers (48 Bit) + Zähler. Vorteil: chronologisch sortierbar. Nachteil: offenbart Systeminformationen (MAC-Adresse, Erstellungszeit).

Beispiel: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Andere Versionen (v3, v5, v6, v7)

v3/v5: Generiert durch Hash (MD5/SHA-1) eines Namespace + Name. Deterministisch (gleiche Eingabe = gleiche UUID). v6/v7: Neuere Vorschläge, die sortierbaren Zeitstempel mit sicherer Zufälligkeit kombinieren.

Beispiel:

Häufige Anwendungsfälle

🗄️ Datenbank-Primärschlüssel

Ersetzen Sie Auto-Increment durch UUIDs, um das Zusammenführen von Daten zwischen Umgebungen (dev, staging, prod) und horizontales Sharding zu erleichtern. MongoDB, PostgreSQL und MySQL unterstützen es nativ.

🔗 REST-Ressourcen-URLs

/api/users/550e8400-e29b-41d4-a716-446655440000
UUIDs in URLs verhindern Enumerationsangriffe und halten URLs unvorhersehbar.

🎫 Sitzungs- und Authentifizierungstoken

OAuth-Token, Sitzungs-IDs, Reset-Token. UUIDs sind kryptografisch sicher und unmöglich zu erraten (im Gegensatz zu numerischen Sequenzen).

📦 Ereignis-/Nachrichtenkennungen

Ereignisverfolgung in Microservices, Nachrichtenwarteschlangen (RabbitMQ, Kafka), verteilten Logs. Korrelations-IDs zwischen Diensten.

📁 Eindeutige Dateinamen

Bild-Uploads, Backups, temporäre Dateien. Verhindert Konflikte und ermöglicht gleichzeitige Uploads ohne Sperre.

UUID vs Auto-Increment: Vor- und Nachteile

MerkmalUUIDAuto-Increment (INT)
Größe16 Bytes (128 Bit)4 Bytes (32 Bit) oder 8 Bytes (64 Bit)
Verteilte Generierung✓ Ja, ohne Koordination✗ Erfordert zentrale Steuerung
VorhersagbarkeitUnvorhersehbar (sicher)Vorhersehbar (Enumerationsrisiko)
Index-LeistungLangsamer (128 zufällige Bits)Schneller (sequenziell, cache-freundlich)
Chronologische SortierungNein (v4), Ja (v1, v6, v7)Ja (sequenziell)
Datenbank-Zusammenführung✓ Trivial (keine Kollision)✗ Komplex (ID-Konflikte)
Ideal fürVerteilte Systeme, APIs, SicherheitMonolithische Systeme, kritische Leistung

Wie man UUID in verschiedenen Sprachen verwendet

JavaScript/Node.js

// Native (Node.js 14.17+)
import { randomUUID } from 'crypto';
const uuid = randomUUID();

// Mit 'uuid' Bibliothek
import { v4 as uuidv4 } from 'uuid';
const uuid = uuidv4();

Python

import uuid

# UUID v4
uuid_v4 = uuid.uuid4()
print(uuid_v4)  # 550e8400-e29b-41d4-a716-446655440000

# UUID v1
uuid_v1 = uuid.uuid1()
print(uuid_v1)  # 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Java

import java.util.UUID;

// Zufällige UUID
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());

PostgreSQL

-- Erweiterung aktivieren
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

-- UUID generieren
SELECT uuid_generate_v4();

-- Tabelle mit UUID erstellen
CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  name VARCHAR(100)
);

FAQ - Häufig Gestellte Fragen

1. Sind UUIDs wirklich eindeutig? Kann es Kollisionen geben?

UUIDs v4 haben 2¹²² mögliche Kombinationen. Die Wahrscheinlichkeit einer Kollision ist astronomisch niedrig (1 zu 5 Milliarden nach Generierung von 1 Milliarde UUIDs). Für praktische Zwecke betrachten Sie sie als eindeutig. Moderne Datenbanken erkennen Kollisionen durch UNIQUE-Constraints.

2. Ist UUID v1 sicher? Kann ich es in der Produktion verwenden?

UUID v1 offenbart Erstellungszeitstempel und MAC-Adresse der Maschine, was als Informationsleck gilt. Verwenden Sie es nicht für Sicherheitstoken oder in Kontexten, in denen Privatsphäre kritisch ist. Bevorzugen Sie v4 für Sicherheit oder v6/v7, wenn Sie chronologische Sortierung ohne Offenlegung der MAC-Adresse benötigen.

3. Beeinträchtigt UUID die Datenbankleistung?

Ja, aber im Allgemeinen akzeptabel. Zufällige UUIDs verursachen B-Tree-Index-Fragmentierung (nicht sequenziell). Für PostgreSQL verwenden Sie UUID v7 oder ULID (Universally Unique Lexicographically Sortable Identifier). Für extreme Leistungsfälle (Milliarden von Datensätzen) behalten Sie Auto-Increment bei.

4. Soll ich Bindestriche verwenden oder entfernen?

Hängt vom Kontext ab. Mit Bindestrichen (RFC 4122-Standard): lesbarer, kompatibel mit Standardbibliotheken. Ohne Bindestriche: spart 4 Bytes bei String-Speicherung, nützlich für kurze URLs oder Token. PostgreSQL speichert binär (16 Bytes) unabhängig von der Formatierung.

5. Kann ich UUID als URL-Verkürzer verwenden?

Technisch ja, aber ineffizient. UUIDs haben 36 Zeichen (mit Bindestrichen) oder 32 ohne. Für URL-Verkürzer verwenden Sie kürzere Kodierungen: base62 (A-Za-z0-9) generiert 6-8 Zeichen IDs, ausreichend für Milliarden von URLs.

6. Funktioniert UUID in Offline-Systemen?

Ja! Das ist einer der Hauptvorteile. Offline-Clients (mobile Apps, IoT) generieren UUIDs lokal ohne Serververbindung. Bei der Synchronisierung gibt es keine ID-Konflikte. Ideal für CRDTs und Multi-Device-Sync.

Verwandte Tools