BrowserTools
Werbung
Startseite / Generatoren / UUID-Generator (v1, v4, v7)

UUID-Generator (v1, v4, v7)

Generiere UUIDs nach RFC 4122 in Version 1, 4 oder 7, einzeln oder im Stapel, kopieren oder herunterladen.

UUID-Generator (v1, v4, v7) wird geladen… Wenn nichts passiert, aktiviere JavaScript.

Eine UUID (Universally Unique Identifier, also universell eindeutiger Bezeichner), in Microsoft-Ökosystemen auch als GUID bekannt, ist ein standardisierter 128-Bit-Wert, mit dem sich Entitäten, Datenbankzeilen, Dateien, Netzwerkknoten oder Transaktionen kennzeichnen lassen, ohne dass eine zentrale Instanz die IDs ausstellen muss. Der Standard ist in RFC 4122 definiert und in Versionen gegliedert, von denen jede eine andere Erzeugungsstrategie verwendet. Version 1 codiert einen Zeitstempel und die MAC-Adresse des Hostrechners; Version 4 nutzt 122 Bit kryptografischer Zufälligkeit; und die neuere Version 7 kombiniert einen Unix-Zeitstempel mit Millisekundengenauigkeit mit Zufallsbits, wodurch sie zugleich eindeutig und lexikografisch sortierbar ist.

Beispiele

Eingabe Version 4 (random)
Ausgabe f47ac10b-58cc-4372-a567-0e02b2c3d479

122 Zufallsbits. Die 13. Hex-Ziffer ist immer 4 (die Version).

Eingabe Format
Ausgabe xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

y ist 8, 9, a oder b; die beiden höchstwertigen Bits codieren die Variante.

Häufig gestellte Fragen

Werden generierte UUIDs an einen Server gesendet?
Nein. Die gesamte Erzeugung erfolgt innerhalb deines Browser-Tabs über die Web Crypto API. Die UUIDs existieren nur im Arbeitsspeicher und werden niemals über das Netzwerk übertragen. Du kannst das im Netzwerk-Tab der Entwicklertools deines Browsers überprüfen.
Worin besteht der technische Unterschied zwischen UUID v1, v4 und v7?
Version 1 codiert einen 60-Bit-Zeitstempel (100-Nanosekunden-Intervalle seit Oktober 1582) sowie die MAC-Adresse des Hostrechners. Version 4 besteht aus 122 Bit kryptografischer Zufälligkeit, wobei die restlichen 6 Bit so gesetzt sind, dass sie Version und Variante angeben. Version 7 verwendet einen 48-Bit-Unix-Zeitstempel in Millisekunden, gefolgt von 74 Zufallsbits, wodurch sie zugleich eindeutig und nach Erstellungszeitpunkt sortierbar ist.
Wie wahrscheinlich ist eine UUID-v4-Kollision?
Äußerst unwahrscheinlich. Bei 122 Zufallsbits erreicht die Wahrscheinlichkeit, auch nur ein Duplikat zu erzeugen, erst nach etwa 2,71 × 10^18 erzeugten UUIDs 50 %. Selbst wenn du 100 Jahre lang ununterbrochen eine Milliarde UUIDs pro Sekunde erzeugen würdest, läge die Kollisionswahrscheinlichkeit weiterhin nahe null, bei rund 0,000000006 %.
Warum sollte ich für Datenbank-Primärschlüssel v7 statt v4 verwenden?
UUID-v4-Werte sind vollständig zufällig, was zu zufälligen Einfügepunkten in B-tree-Indizes führt. In großem Maßstab führt das zu häufigen Seitenteilungen und Cache-Fehlzugriffen und verlangsamt den Schreibdurchsatz erheblich. Durch das Zeitstempel-Präfix von UUID v7 werden neue Datensätze nahe dem Ende des Index eingefügt, genau wie bei automatisch hochzählenden Ganzzahlen, und bleiben dabei ohne Koordination global eindeutig.
Kann ich diese UUID als kryptografisches Geheimnis oder Token verwenden?
Eine UUID v4 aus `crypto.getRandomValues` hat 122 Bit Entropie, was für viele Token-Anwendungsfälle technisch ausreicht. UUIDs sind jedoch konventionell formatiert und werden öffentlich als Bezeichner erkannt, nicht als Geheimnisse. Für Bearer-Tokens, Sitzungsschlüssel oder API-Schlüssel solltest du stattdessen eine rohe Zufallsbyte-Folge erzeugen und sie als base64 codieren.
Was bedeutet GUID und ist es dasselbe wie UUID?
GUID steht für Globally Unique Identifier (global eindeutiger Bezeichner) und ist Microsofts Bezeichnung für dasselbe Konzept, ursprünglich in den 1990er-Jahren bei der Registrierung von COM/DCOM-Komponenten verwendet. Technisch folgt eine GUID derselben RFC-4122-Struktur, eine UUID und eine GUID sind also austauschbar. Der einzige praktische Unterschied liegt in den Formatierungskonventionen: GUIDs werden manchmal in geschweiften Klammern dargestellt, etwa `{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}`.
Kann ich UUIDs offline erzeugen?
Ja. Dieses Tool ist eine statische Webseite ohne Serverabhängigkeiten für die Erzeugungslogik. Sobald die Seite geladen ist, kannst du die Internetverbindung trennen und beliebig lange weiter UUIDs erzeugen, denn alles läuft in der JavaScript-Engine des Browsers.
Was ist ein häufiger Fehler bei der Verwendung von UUID v1?
Das Einbetten von MAC-Adressen in v1-UUIDs bedeutet, dass jeder von deinem System erzeugte Bezeichner einen Fingerabdruck des Rechners enthält, der ihn generiert hat. Das hat Datenschutzfolgen: Es war einer der Faktoren, die den Autor des Melissa-Virus 1999 mit seinem Computer in Verbindung brachten. Vermeide v1 für jeden Bezeichner, der für Nutzer sichtbar oder öffentlich protokolliert ist.
Welchem Format folgt eine UUID?
Eine UUID besteht immer aus 32 hexadezimalen Ziffern, die durch Bindestriche in fünf Gruppen unterteilt sind: 8-4-4-4-12 Zeichen, zum Beispiel `550e8400-e29b-41d4-a716-446655440000`. Insgesamt sind es 36 Zeichen einschließlich der Bindestriche oder 32 ohne. Die 13. Hex-Ziffer gibt die Version an (1, 4 oder 7) und die 17. die Variante (in Standard-UUIDs immer 8, 9, a oder b).
Kann ich UUIDs im Stapel erzeugen und als Datei herunterladen?
Ja. Stelle die Anzahl auf den gewünschten Wert ein, bis zu mehreren Tausend, und nutze die Schaltfläche zum Herunterladen, um eine reine Textdatei mit einer UUID pro Zeile zu speichern. Das ist nützlich, um IDs vorab für Datenbank-Seed-Skripte, Test-Fixtures oder Migrationsdateien zu erzeugen.

Über UUID-Generator (v1, v4, v7)

Verteilte Systeme sind der wichtigste Anwendungsfall für UUIDs. Wenn du mehrere Server, Microservices oder offlinefähige mobile Clients hast, die alle gleichzeitig Datensätze erzeugen, wird die Koordination eines einzigen automatisch hochzählenden Ganzzahl-Zählers zum Engpass oder zur Konfliktquelle. UUIDs umgehen das vollständig: Jeder Knoten kann unabhängig eine global eindeutige ID erzeugen, und die Datensätze lassen sich später kollisionsfrei zusammenführen. Sie tauchen überall auf, von Primärschlüsseln in Datenbanken und Idempotenz-Tokens in Zahlungs-APIs bis hin zu Sitzungskennungen, inhaltsadressierbaren Dateinamen und Trace-IDs in Observability-Pipelines.

Dieses Tool erzeugt UUIDs vollständig in deinem Browser über die Web Crypto API. Für v4 ruft es `crypto.randomUUID()` auf, sofern verfügbar (Chrome 92+, Firefox 95+), und greift andernfalls auf `crypto.getRandomValues` mit manueller Formatierung zurück. Für v7 liest es `Date.now()` für das 48-Bit-Zeitstempel-Präfix und füllt die restlichen Bits mit kryptografischer Zufälligkeit. Es werden keine Bezeichner an einen Server übertragen, und nichts wird protokolliert. Du kannst eine einzelne UUID oder einen großen Stapel erzeugen, etwa zum Import in ein Test-Fixture oder ein Migrationsskript.

Ein verbreiteter Irrtum ist, dass UUIDs undurchsichtige Hashes seien. Das sind sie nicht: v1-UUIDs betten deine MAC-Adresse und einen Zeitstempel ein, was die Geräteidentität preisgeben kann. In datenschutzsensiblen Kontexten solltest du immer v4 oder v7 bevorzugen. Eine weitere Falle ist die Verwendung von UUIDs als sequenzielle Datenbankschlüssel mit B-tree-Indizes: v4-UUIDs sind zufällig und verursachen eine Fragmentierung des Index. Genau deshalb wurde v7 eingeführt: Sein Zeitstempel-Präfix hält die Einfügungen ungefähr in Reihenfolge und verbessert die Schreibleistung des Index bei großen Tabellen drastisch.

Das Problem der verteilten Identität: Wie UUIDs aus dem Chaos der Netzwerke entstanden

Der konzeptionelle Vorläufer der UUID ist der global eindeutige Bezeichner, der Ende der 1980er-Jahre für das Network Computing System von Apollo Computer entwickelt wurde und eine Möglichkeit benötigte, RPC-Schnittstellen ohne zentrale Registry zu identifizieren. Die Open Software Foundation passte dies Anfang der 1990er-Jahre zur UUID-Spezifikation des DCE (Distributed Computing Environment) an und bettete MAC-Adressen und Zeitstempel ein, sodass jeder Rechner in jedem Netzwerk einen Bezeichner prägen konnte, der garantiert über Raum und Zeit hinweg eindeutig war.

Microsoft übernahm das Schema Mitte der 1990er-Jahre für COM und DCOM unter dem Namen GUID, und es wurde auf Windows-Plattformen allgegenwärtig. Der moderne Standard RFC 4122, veröffentlicht im Jahr 2005, formalisierte das Format und definierte die Versionen 1 bis 5. Version 4, die heute vorherrschende rein zufällige Variante, war teilweise durch Datenschutzbedenken motiviert, nachdem Forscher gezeigt hatten, dass sich v1-UUIDs nutzen ließen, um den Rechner zu identifizieren und zu verfolgen, der sie erzeugt hatte.

Version 7 wurde 2021 in einem IETF-Entwurf vorgeschlagen und 2024 in RFC 9562 finalisiert, als direkte Reaktion auf die Datenbank-Leistungsprobleme, die durch zufällige UUIDs als Primärschlüssel verursacht werden. Die Spezifikation wurde von Ingenieuren großer Cloud-Anbieter vorangetrieben, die die realen Kosten der Indexfragmentierung von v4-UUIDs bei Milliarden von Zeilen gemessen hatten. RFC 9562 erklärte zudem v1 und v2 für neue Anwendungen als veraltet und etablierte damit v4 für datenschutzsensible Kontexte und v7 für zeitlich geordnete Speicherung.

Werbung
Werbung
Werbung