UUID-v7-Zeitstempel-Decoder

Extrahiert den in den ersten 48 Bit einer UUID v7 eingebetteten Millisekunden-Zeitstempel und wandelt ihn durch einfaches Einfügen der Zeichenfolge in ein UTC-Datum um. Erkennt Nicht-v7-Versionen und Variant-Anomalien und dient als Umkehrung des Schwestertools "UUID-v7-Generator".

Bit-Layout der UUID v7

Bit-Bereich Feld Beschreibung
0-47 unix_ts_ms Millisekunden seit der Unix-Epoche, im Big-Endian-Format gespeichert. Der Wert, den dieses Tool extrahiert.
48-51 version Die UUID-Versionsnummer. Bei v7 fest auf 0111 (hexadezimal 7) gesetzt.
52-63 rand_a 12 Bit Zufallsdaten. Manche Implementierungen nutzen sie, um die Reihenfolge innerhalb derselben Millisekunde zu bewahren.
64-65 variant Fester Wert 10, der die Variante nach RFC 4122/9562 angibt. Die erste Hexadezimalziffer ergibt dadurch 8/9/a/b.
66-127 rand_b 62 Bit Zufallsdaten, die Entropie zur Vermeidung von Kollisionen liefern.

Tipps

  • Die gesamte Dekodierung erfolgt vollständig im JavaScript Ihres Browsers — die eingegebene UUID wird niemals an den Server von toolbase.cc gesendet.
  • Wenn der Primärschlüssel Ihrer Datenbank UUID v7 verwendet, können Sie den Erstellungszeitpunkt eines Datensatzes wiederherstellen, indem Sie einfach den Schlüssel hier einfügen — selbst ohne eine eigene created_at-Spalte.
  • Die Eingabe einer Nicht-v7-UUID (z. B. v4) löst eine Warnung aus, der mechanisch aus den ersten 48 Bit extrahierte Referenzwert wird jedoch weiterhin angezeigt, was hilfreich ist, um die Unterschiede zwischen den Formaten zu verstehen.
  • Wenn Sie eine UUID erzeugen möchten, verwenden Sie das Schwestertool "UUID-v7-Generator" — es erzeugt UUIDs, die dieses Tool direkt zurück dekodieren kann.
  • Das einzelne Einfügen von in Logdateien oder API-Antworten gefundenen UUID-v7-Werten ist eine praktische Methode, um beim Debuggen abzuschätzen, wann Ereignisse in einem externen System aufgetreten sind.

Häufig gestellte Fragen

UUID v7 ist in RFC 9562 standardisiert, und ein Unix-Zeitstempel mit Millisekundenpräzision ist in Big-Endian-Reihenfolge fest in den ersten 48 der 128 Bit eingebettet. Es genügt, die ersten 12 Hexadezimalziffern in eine Zahl umzuwandeln und als Millisekunden zu interpretieren, um den Erzeugungszeitpunkt wiederherzustellen.

Da UUID v4 vollständig zufällig ist, ist der daraus extrahierte "Zeitstempel" eine bedeutungslose Zahl ohne Bezug zu einem tatsächlichen Erstellungszeitpunkt. Dieses Tool prüft die Versionsziffer und zeigt eine Warnung an, gibt aber weiterhin zur Referenz den mechanisch aus den ersten 48 Bit extrahierten Wert aus.

Gemäß der UUID-v7-Spezifikation liegt die Genauigkeit bei einer Millisekunde. Werden mehrere UUID-v7-Werte innerhalb derselben Millisekunde erzeugt, sind ihre ersten 48 Bit identisch, und ihre Erzeugungsreihenfolge lässt sich nicht wiederherstellen — diese Unterscheidung obliegt vollständig den Zufallswerten rand_a und rand_b.

RFC-4122/9562-konforme UUIDs verlangen, dass die erste Hexadezimalziffer der 4. Gruppe 8, 9, a oder b ist. Ist sie ein anderer Wert (0-7 oder c-f), kann dies auf ein benutzerdefiniertes ID-Erzeugungsschema oder beschädigte Bits hindeuten, weshalb eine Warnung angezeigt wird.
ツールくん

Übrigens – Der UUID eine eingebaute Uhr geben

Das Bahnbrechende an UUID v7 ist, dass der Bezeichner selbst dauerhaft seinen Erzeugungszeitpunkt trägt. Bei der älteren UUID v4 war eine separate created_at-Spalte unerlässlich, um zu wissen, wann ein Datensatz erstellt wurde. Verwendet der Primärschlüssel einer Tabelle jedoch UUID v7, lässt sich der Erzeugungszeitpunkt allein aus der ID-Zeichenfolge mechanisch wiederherstellen. Dieses Tool bietet diesen Wiederherstellungsprozess als Umkehrung des Schwestertools "UUID-v7-Generator" an.

Diese Eigenschaft ist besonders bei Fehleranalysen und Datenmigrationen nützlich. Ist eine in einem alten Log vergrabene Bestell-ID oder eine von einem externen System empfangene Ereignis-ID zufällig im UUID-v7-Format, lässt sich sofort ungefähr feststellen, wann der Datensatz erstellt wurde, ohne eine eigene Zeitstempelspalte konsultieren zu müssen. Das gilt auch für Legacy-Systeme ohne created_at-Spalte oder für die Analyse von UUID-v7-Werten anderer Unternehmen.

Allerdings gibt es Einschränkungen. Ein UUID-v7-Zeitstempel hängt vollständig von der Uhr der erzeugenden Maschine ab — geht die Uhr dieses Servers falsch, ist auch das extrahierte Ergebnis falsch. Bedenken Sie zudem, dass dieses Tool auch aus anderen UUID-Versionen wie v4 mechanisch einen "möglichen Zeitstempel" extrahiert — das ist rein eine Interpretation von Bit-Positionen und garantiert nicht, dass der resultierende Wert eine Bedeutung hat.

→ Alle Wissenstexte ansehen