Zum Inhalt springen

UUID-Generator (v4 & v7)Beta

Erzeuge beliebig viele UUIDs der Version 4 oder 7, oder füge eine ein und sieh Version, Variante und (bei v7) den Zeitstempel. Alles läuft im Browser.

UUIDs erzeugen

Version
Erzeuge 1 bis 1000 auf einmal.

Ergebnisse

UUID-Prüfer

So verwendest du das Tool

Wähle eine Version und eine Anzahl (1 bis 1000) und klicke auf „Erzeugen“ — die UUIDs entstehen im Browser. Großschreibung, keine Bindestriche oder geschweifte Klammern ändern das Ergebnis, und du kannst alles auf einmal kopieren oder als .txt-Datei herunterladen. Füge unten im UUID-Prüfer eine einzelne UUID ein, um Version, Variante und — bei v7 — den enthaltenen Zeitstempel zu sehen.

Der Unterschied zwischen v4 und v7

Version 4 füllt alle 122 nicht festgelegten Bit mit kryptografisch sicherem Zufall, sodass sich aus dem Wert allein nichts ableiten lässt. Der Nachteil: Sie hat keine Sortierreihenfolge. Als Primärschlüssel in einer Datenbank landen neue Zeilen an zufälligen Stellen im Index (schlechte Lokalität), was häufige B-Tree-Seitenteilungen verursacht und die Trefferquote des Caches verschlechtert. Version 7 speichert einen millisekundengenauen Erstellungszeitstempel in den ersten 48 Bit, sodass die Werte selbst in Erstellungsreihenfolge sortiert sind. Als Primärschlüssel hängen sich neue Zeilen immer ans Ende des Index an, was weniger Seitenteilungen und eine bessere Cache-Lokalität bedeutet. Beide Versionen folgen dem Standard RFC 9562, und dieses Tool erzeugt den Zufallsanteil mit der kryptografischen Zufallsfunktion des Browsers (crypto.getRandomValues).

Warum die Reihenfolge auch innerhalb derselben Millisekunde stimmt

Version 7 hat direkt nach dem Zeitstempel 12 freie Bit (rand_a), und dieses Tool erhöht diesen Wert für jede UUID, die innerhalb derselben Millisekunde entsteht. Dadurch entspricht die reine String-Sortierreihenfolge mehrerer auf einmal erzeugter Werte genau der tatsächlichen Erzeugungsreihenfolge.

Wie wahrscheinlich ist eine Kollision

Version 4 schöpft aus einem 122-Bit-Zufallsraum, sodass selbst bei einer Milliarde Erzeugungen pro Sekunde die Wahrscheinlichkeit eines zufälligen Treffers praktisch null ist (eine Berechnung nach dem Geburtstagsproblem zeigt, dass mehr als 10^18 UUIDs nötig wären, um eine Kollisionswahrscheinlichkeit von 50 % zu erreichen). Version 7 hat mit 74 Bit einen kleineren Zufallsanteil, aber weil dieses Tool innerhalb derselben Millisekunde hochzählt, wiederholt sich innerhalb eines Durchlaufs kein Wert.

Datenschutz

UUIDs werden ausschließlich in deinem Browser erzeugt und nie an einen Server gesendet. Beachte dabei, dass eine v7-UUID ihren genauen Erstellungszeitpunkt enthält — verwende deshalb v4 für Werte, bei denen der Erstellungszeitpunkt verborgen bleiben muss, etwa eine Kennung, die anonym bleiben soll.

Quellen

Häufige Fragen

Sollte ich UUID v4 oder v7 verwenden?

Nimm v7, wenn Sortierreihenfolge und Einfügeleistung wichtig sind, etwa bei einem Primärschlüssel in der Datenbank. Nimm v4, wenn der Wert allein nichts über den Erstellungszeitpunkt verraten soll. Bei beiden Versionen ist die Kollisionswahrscheinlichkeit praktisch vernachlässigbar.

Können zwei erzeugte UUIDs zufällig gleich sein?

Theoretisch möglich, aber verschwindend unwahrscheinlich. v4 schöpft aus einem 122-Bit-Zufallsraum, und dieses Tool erhöht bei v7 zusätzlich einen Zähler für Werte, die in derselben Millisekunde entstehen, sodass innerhalb eines Durchlaufs nichts doppelt vorkommt.

Verrät der Zeitstempel in einer v7-UUID genau, wann sie erzeugt wurde?

Ja. Die ersten 48 Bit speichern die Anzahl der Millisekunden seit dem 1. Januar 1970. Fügst du eine UUID in den Prüfer ein, erscheinen Datum und Uhrzeit der Erzeugung genau. Deshalb ist v4 die sicherere Wahl, wenn der Erstellungszeitpunkt verborgen bleiben muss.

Wann brauche ich die Optionen ohne Bindestriche oder mit geschweiften Klammern?

Die 32-stellige Form ohne Bindestriche eignet sich gut für Dateinamen oder manche Datenbankspalten, während die Form mit geschweiften Klammern vor allem in der Windows-Registrierung und bei GUIDs von COM-Komponenten verwendet wird.