UUID-Generator (v4)
Erzeugen Sie einen oder viele zufällige Version-4-UUIDs direkt in Ihrem Browser mit kryptografischem Zufall — nichts wird an einen Server gesendet.
1.033 Aufrufe
Was einen v4-UUID einzigartig macht
Eine UUID (Universally Unique Identifier) ist eine 128-Bit-Zahl, üblicherweise als 36 Zeichen in der Gruppierung 8-4-4-4-12 hexadezimal geschrieben, wie f47ac10b-58cc-4372-a567-0e02b2c3d479. Von diesen 128 Bits füllt Version 4 — die Variante, die dieser Generator erzeugt — 122 mit der Ausgabe eines kryptografisch sicheren Zufallszahlengenerators. Die verbleibenden 6 Bits sind überhaupt nicht zufällig: Sie sind feste Markierungen, die die UUID als Version 4 kennzeichnen und ihre "Variante" markieren — deshalb ist das Zeichen direkt nach dem zweiten Bindestrich immer eine 4, und das erste Zeichen der nächsten Gruppe ist immer 8, 9, a oder b.
122 zufällige Bits sind ein enormer Raum: 2^122 mögliche Werte, etwa 5,3×10³⁶. Um das greifbar zu machen: Würde jedes Gerät der Erde ununterbrochen eine Milliarde UUIDs pro Sekunde erzeugen, bräuchte es immer noch in der Größenordnung von zehn Milliarden Jahren kombinierter Erzeugung, bis die Wahrscheinlichkeit eines einzigen zufälligen Duplikats überhaupt 50 % erreicht. Deshalb können verteilte Systeme — Dienste, die auf Hunderten unabhängigen Servern ohne jede Koordination untereinander laufen — jeweils ihre eigenen UUIDs lokal erzeugen und darauf vertrauen, ohne ein zentrales Register zu prüfen, dass sich niemals zwei UUIDs überschneiden werden. Genau das ist der eigentliche Sinn des Formats: eindeutige Identifikation ohne Datenbankabfrage.
Die Erzeugung erfolgt hier vollständig in Ihrem Browser mithilfe der Funktion crypto.randomUUID() der Web-Crypto-API — derselben kryptografischen Zufallsquelle, die Browser für sicherheitskritische Vorgänge verwenden. Nichts wird an einen Server gesendet, kein Seed wird protokolliert, und jede von Ihnen erzeugte UUID ist unabhängig von jeder anderen.
Was Sie vor der Nutzung von UUIDs wissen sollten
v4 ist nicht die einzige Version. v1 und v6 betten einen Zeitstempel und die Netzwerkadresse der erzeugenden Maschine ein, was sie sortierbar macht, aber auch Informationen darüber preisgibt, wann und wo sie erzeugt wurden. v5 hasht einen von Ihnen angegebenen Namen und erzeugt für dieselbe Eingabe immer dieselbe UUID — nützlich, wenn Sie einen deterministischen statt eines zufälligen Bezeichners benötigen. v7, ein neuerer Standard, kombiniert ein Zeitstempel-Präfix mit zufälligen Bits und bietet so sowohl Eindeutigkeit als auch eine natürliche chronologische Ordnung. v4 bleibt die richtige Standardwahl, wann immer Sie einfach einen zufälligen, nicht erratbaren, kollisionsfreien Bezeichner benötigen und keine Zeit- oder Namenskodierung brauchen.
Ein praktischer Vorbehalt: Da v4-Werte vollständig zufällig sind, kann ihre Verwendung als Primärschlüssel in einer Datenbank die Einfügeleistung bei B-Tree-indizierten Tabellen beeinträchtigen, da neue Zeilen an unvorhersehbaren Positionen im Index landen, statt sich ordentlich an einem Ende anzufügen. Wenn Einfügedurchsatz im großen Maßstab wichtig ist, bewahrt eine zeitlich geordnete Alternative wie UUIDv7 oder ULID dieselbe 128-Bit-Eindeutigkeitsgarantie, bleibt aber indexfreundlich.
Häufig gestellte Fragen
Können zwei erzeugte UUIDs kollidieren?
Theoretisch ja, praktisch nie: Bei 2^122 Möglichkeiten ergibt die Erzeugung von einer Milliarde UUIDs pro Sekunde über 85 Jahre eine Wahrscheinlichkeit von rund 50 % für eine einzige Kollision. Systeme weltweit verlassen sich darauf.
Sollte ich UUIDs als Primärschlüssel in Datenbanken verwenden?
Sie glänzen bei verteilter Erzeugung und nicht erratbaren IDs, aber zufällige v4-UUIDs zersplittern B-Tree-Indizes. Wenn die Einfügeleistung wichtig ist, schauen Sie sich UUIDv7 (zeitlich geordnet) oder ULID an — gleiche Größe, indexfreundlich.
Ist v4 die einzige Version?
Nein — v1/v6 betten einen Zeitstempel und eine MAC-Adresse ein, v5 hasht einen Namen und erzeugt immer dasselbe Ergebnis, v7 ist ein neueres Format, das einen Zeitstempel mit Zufälligkeit kombiniert. v4 bleibt die Standardwahl, wenn Sie einfach eine zufällige eindeutige ID benötigen.
Wofür sind die festen Bits in einer v4-UUID da?
Von den 128 Bits sind nur 122 zufällig. Die übrigen 6 sind reserviert, um das Format selbst zu kennzeichnen — ein Halbbyte ist fest auf "Version 4" gesetzt, ein weiteres ist auf eine kleine Wertemenge (8, 9, a oder b) beschränkt, um die "Variante" zu markieren. Deshalb hat jede v4-UUID direkt nach dem zweiten Bindestrich eine 4, egal wie viele Sie erzeugen.
Kann ich eine UUID als Sicherheitstoken verwenden, etwa für einen Link zum Zurücksetzen des Passworts?
Eine v4-UUID wird aus einer kryptografisch sicheren Zufallsquelle erzeugt, daher ist Erraten praktisch nicht möglich — sie wurde aber für Eindeutigkeit entworfen, nicht für Geheimhaltung. Kombinieren Sie sie bei allem Sicherheitsrelevanten mit ordnungsgemäßem Ablauf, einmaliger Verwendung und serverseitiger Validierung, statt sich allein auf die UUID zu verlassen.
Ähnliche Tools
Problem melden
UUID-Generator (v4)
Kommentare
Noch keine Kommentare — schreiben Sie den ersten!