Was ist UUID v3?
UUID Version 3 ist ein namespace-basierter 128-Bit-Identifikator (36-Zeichen-String) aus RFC 4122, der MD5-Hashing verwendet. Er besteht aus:
- Namespace UUID: Eine vordefinierte oder benutzerdefinierte UUID-Namespace
- Name: Ein vom Benutzer bereitgestellter String, der gehasht wird
- MD5-Hash: Angewendet auf die Kombination aus Namespace + Name
Formatbeispiel: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Wie UUID v3 funktioniert
- Wählen Sie eine Namespace-UUID (vordefiniert oder benutzerdefiniert)
- Verkettung der Bytes der Namespace-UUID mit den Bytes der Namenszeichenfolge
- Berechnen Sie den MD5-Hash des verketteten Wertes
- Setzen Sie die Versionsbits auf 0011 (Version 3)
- Setzen Sie die Variantenbits auf 10 (RFC 4122-Standard)
- Zusammenstellen als 32 Hexadezimalziffern mit Bindestrichen: 8-4-4-4-12 Format
Vorteile & Überlegungen
Vorteile | Überlegungen |
---|---|
|
|
UUID v3 Struktur
Bits | Inhalt |
---|---|
0-47 | Erste 48 Bits des MD5-Hashes |
48-51 | Version (0011 für v3) |
52-63 | Nächste 12 Bits des MD5-Hashes |
64-65 | Variante (10 für RFC4122) |
66-127 | Verbleibende 62 Bits des MD5-Hashes |
Vordefinierte Namespaces
Name | UUID | Zweck |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Domainnamen |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | ISO OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | X.500 Distinguished Names |
UUID v3 vs. andere Versionen
Version | Basierend auf | Verwendungszweck | Privatsphäre |
---|---|---|---|
UUID v1 | Zeit + MAC | Zeitlich geordnete IDs | ⚠️ Enthüllt MAC |
UUID v3 | Namespace + MD5 | Deterministische IDs | ✅ Privat |
UUID v4 | Zufällig | Sichere zufällige IDs | ✅ Privat |
UUID v5 | Namespace + SHA-1 | Deterministische IDs | ✅ Privat |
UUID v6 | Zeit (neu geordnet) | Sortierbare IDs | ⚠️ Enthüllt MAC |
UUID v7 | Zeit + zufällig | Sortierbare IDs | ✅ Privat |
Häufige Anwendungsfälle
- URL-basierte Identifikatoren: Erstellen von UUIDs aus URLs
- Domänenspezifische IDs: Konvertieren von DNS-Namen in UUIDs
- Deterministische Datei-IDs: Inhaltsadressierung
- Benutzer-IDs: Aus E-Mail oder Benutzername
- Konfigurationseinträge: Für konsistente Schlüssel
- Dokumentenreferenzen: Content-Management-Systeme
Häufig gestellte Fragen
Ist UUID v3 kryptographisch sicher?
Nicht wirklich. UUID v3 verwendet MD5, das bekannte kryptographische Schwächen hat. Für höhere Sicherheit sollten Sie UUID v5 (SHA-1) oder UUID v4 (zufällig) in Betracht ziehen.
Produzieren die gleichen Eingaben immer die gleiche UUID v3?
Ja. UUID v3 ist deterministisch - der gleiche Namespace und Name erzeugen immer die identische UUID, was es nützlich für reproduzierbare IDs macht.
Was ist der Unterschied zwischen UUID v3 und v5?
Sie funktionieren identisch, außer dass v3 MD5 verwendet, während v5 SHA-1 verwendet. UUID v5 wird im Allgemeinen bevorzugt, da SHA-1 kryptographisch stärker ist als MD5.
Kann ich meine eigenen Namespaces erstellen?
Ja. Während RFC 4122 standardisierte Namespaces (DNS, URL, OID, X.500) definiert, können Sie benutzerdefinierte Namespaces mit jeder gültigen UUID erstellen.
Ist UUID v3 für Sicherheitstoken geeignet?
Nein. Aufgrund der Schwächen von MD5 und der deterministischen Natur wird UUID v3 nicht für Sicherheitstoken oder alles, was Unvorhersehbarkeit erfordert, empfohlen.