Was ist UUID-Decodierung?
UUID-Decodierung ist der Prozess, einen UUID zu analysieren, um Informationen zu extrahieren über:
- Version: Welche UUID-Version (1-8) basierend auf 4 Bits an Position 48-51
- Variante: Welche UUID-Variante (üblicherweise RFC 4122) basierend auf Bits 64-65
- Komponenten: Extraktion von Zeitstempel, Knoten-ID oder anderen Daten je nach Version
- Erstellungszeit: Für zeitbasierte UUIDs (v1, v6, v7)
Beispiel: 123e4567-e89b-12d3-a456-426614174000
ist eine Version 1 UUID, erstellt am 2018-10-03 09:45:32 UTC.
UUID-Strukturübersicht
Format | Beschreibung |
---|---|
8-4-4-4-12 | 32 Hexadezimalziffern, gruppiert mit Bindestrichen |
Versionsbits | Bits 48-51 (13. Ziffer) |
Variantenbits | Bits 64-65 (17. Ziffer) |
Die Versionsnummer erscheint als erste Hexadezimalziffer in der dritten Gruppe (z.B. 123e4567-e89b-12d3-a456-426614174000
für Version 1).
Decodierung nach UUID-Version
Version | Was decodiert werden kann |
---|---|
UUID v1 |
|
UUID v3/v5 |
|
UUID v4 |
|
UUID v6 |
|
UUID v7 |
|
ULID |
|
Zeitstempelextraktion aus UUIDs
UUID-Typ | Zeitextraktionsmethode | Epoche |
---|---|---|
UUID v1 | Bits 0-31, 32-47 und 48-59 kombinieren, Zeitstempelkomponenten neu anordnen | 15. Oktober 1582 |
UUID v6 | Bits 0-59 extrahieren (bereits in richtiger Reihenfolge) | 15. Oktober 1582 |
UUID v7 | Bits 0-47 extrahieren (Unix-Millisekunden) | 1. Januar 1970 |
ULID | Erste 10 Base32-Zeichen decodieren, um 48-Bit-Unix-Millisekunden zu erhalten | 1. Januar 1970 |
UUID-Validierungsregeln
- Formatprüfung: 8-4-4-4-12 hexadezimale Ziffern mit Bindestrichen
- Versionsprüfung: 13. Zeichen muss 1-8 sein
- Variantenprüfung: 17. Zeichen muss 8, 9, A oder B sein (für RFC 4122)
Regulärer Ausdruck für grundlegende UUID-Validierung:
^[0-9a-f]8-[0-9a-f]4-[1-8][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$
Praktische Anwendungen
- Forensische Analyse: Ermittlung, wann IDs erstellt wurden
- Debugging: Nachverfolgung des Systemverhaltens durch ID-Zeitstempel
- Prüfung: Validierung der chronologischen Integrität
- Sicherheitsanalyse: Erkennung gefälschter oder manipulierter IDs
- Datenwiederherstellung: Rekonstruktion zeitlicher Beziehungen
- Systemmigration: Verständnis älterer UUID-Implementierungsdetails
MAC-Adressextraktion (v1/v6)
Bei UUID v1 und v6 können Sie oft die Knotenkennung (MAC-Adresse) extrahieren, wenn diese während der Generierung nicht randomisiert wurde:
- Extrahieren Sie die letzten 12 Hexadezimalziffern (48 Bits) aus der UUID
- Format mit Doppelpunkten als XX:XX:XX:XX:XX:XX
- Prüfen Sie, ob die MAC-Adresse echt oder zufällig ist, indem Sie das Multicast-Bit untersuchen
Wenn das erste Byte das Bit 0x01 gesetzt hat, handelt es sich wahrscheinlich um eine randomisierte Knotenkennung und nicht um eine tatsächliche MAC-Adresse.
Häufig gestellte Fragen
Kann ich genau bestimmen, wann eine UUID v4 erstellt wurde?
Nein. UUID v4 ist rein zufällig ohne Zeitstempelinformationen. Der Erstellungszeitpunkt kann nicht aus einem UUID v4-Wert bestimmt werden.
Wie genau sind Zeitstempel in zeitbasierten UUIDs?
UUID v1/v6-Zeitstempel haben eine Präzision von 100 Nanosekunden. UUID v7 und ULID haben Millisekunden-Präzision. Die tatsächliche Systemuhrgenauigkeit kann jedoch variieren.
Kann ich zwischen UUID-Versionen konvertieren?
Nein, Sie können nicht direkt zwischen Versionen konvertieren und dabei denselben Identifikatorwert beibehalten. Verschiedene Versionen haben grundlegend unterschiedliche Strukturen.
Kann ich den Computer identifizieren, der eine UUID v1 generiert hat?
Wenn die Knotenkennung nicht randomisiert wurde, kann eine UUID v1 die MAC-Adresse des erzeugenden Systems enthalten. Viele moderne Implementierungen randomisieren dies jedoch aus Datenschutzgründen.
Wie kann ich feststellen, ob eine UUID gültig ist?
Prüfen Sie das Format (8-4-4-4-12 Hexadezimalziffern), überprüfen Sie, ob die Versionsziffer (13. Zeichen) 1-8 ist, und bestätigen Sie die Variantenbits (17. Zeichen ist 8, 9, A oder B für RFC 4122 UUIDs).