Was ist UUID v5?
UUID Version 5 ist ein 128-Bit-Identifikator (36 Zeichen lang), der auf einem Namensraum basiert und in RFC 4122 definiert ist. Es kombiniert:
- Namensraum-UUID: Vordefinierte oder benutzerdefinierte UUID zur Eingrenzung der Generierung
- Name: Benutzerdefinierter Zeichenfolgenwert innerhalb des Namensraums
- SHA-1-Hash: Kryptografischer Algorithmus zur Generierung des Ergebnisses
Formatbeispiel: 2ed6657d-e927-5eb1-9a03-0242ac130003
Wie funktioniert UUID v5?
- Wählen Sie eine Namensraum-UUID (vordefiniert oder benutzerdefiniert)
- Verketten Sie die Namensraum-UUID und die Zeichenfolge
- Berechnen Sie den SHA-1-Hash des verketteten Wertes
- Setzen Sie die Versionsbits (0101) und die Variantenbits (10)
- Zusammenfügen als 32 hexadezimale Ziffern mit Bindestrichen: Format 8-4-4-4-12
Vorteile und Überlegungen
Vorteile | Überlegungen |
---|---|
|
|
Struktur von UUID v5
Bits | Inhalt |
---|---|
0-47 | Erste 48 Bits des SHA-1-Hashes |
48-51 | Version (0101 für v5) |
52-63 | Nächste 12 Bits des SHA-1-Hashes |
64-65 | Variante (10 für RFC4122) |
66-127 | Verbleibende 62 Bits des SHA-1-Hashes |
UUID v5 vs. andere Versionen
Version | Basiert auf | Anwendungsfall | Datenschutz |
---|---|---|---|
UUID v1 | Zeit + MAC | Zeitlich geordnete IDs | ⚠️ MAC wird offengelegt |
UUID v3 | Namensraum + MD5 | Deterministische IDs | ✅ Privat |
UUID v4 | Zufällig | Sichere zufällige IDs | ✅ Privat |
UUID v5 | Namensraum + SHA-1 | Deterministische IDs | ✅ Privat |
UUID v6 | Zeit (umgeordnet) | Sortierbare IDs | ⚠️ MAC wird offengelegt |
UUID v7 | Zeit + Zufall | Sortierbare IDs | ✅ Privat |
Vordefinierte Namensräume
Namensraum | UUID | Zweck |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Für Domainnamen |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | Für URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | Für ISO-OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | Für X.500 Distinguished Names |
Häufige Anwendungsfälle
- Inhaltsadressierung: Konsistente IDs für identische Inhalte
- Verteilte Systeme: Benannte Ressourcen über Systeme hinweg
- URL-Mapping: URLs in stabile Identifikatoren umwandeln
- Konfigurationsmanagement: Verfolgung benannter Konfigurationselemente
- Deduplizierung von Daten: Identifizierung identischer Datensätze
- Föderation: Konsistente systemübergreifende Identifikatoren
Häufig gestellte Fragen
Ist UUID v5 besser als UUID v3?
Ja, für die meisten Anwendungsfälle. UUID v5 verwendet SHA-1, das kryptografisch stärker ist als der in UUID v3 verwendete MD5-Algorithmus. Beide bieten jedoch eine deterministische Generierung.
Können UUID v5-Werte kollidieren?
Kollisionen sind theoretisch möglich, aber in der Praxis aufgrund der Eigenschaften von SHA-1 äußerst unwahrscheinlich. Die Verwendung unterschiedlicher Namensräume oder Namen eliminiert das Kollisionsrisiko praktisch vollständig.
Ist SHA-1 sicher genug für UUID v5?
Für UUID-Zwecke bleibt SHA-1 trotz seiner kryptografischen Schwächen geeignet. UUID v5 ist nicht für Sicherheitszwecke gedacht, sondern für die Generierung konsistenter Identifikatoren.
Kann ich meinen eigenen Namensraum für UUID v5 erstellen?
Ja. Obwohl RFC 4122 Standard-Namensräume definiert (DNS, URL, OID, X.500), können Sie benutzerdefinierte Namensräume mit einer gültigen UUID erstellen, typischerweise einer zufälligen UUID v4.
Wird derselbe Name immer dieselbe UUID v5 generieren?
Ja, aber nur innerhalb desselben Namensraums. Derselbe Name in unterschiedlichen Namensräumen generiert unterschiedliche UUIDs, was eine wichtige Funktion zur Organisation von Identifikatoren ist.