Zufall & Passwort

UUID erzeugen

Anzahl und Format wählen – der Generator erzeugt zufällige UUIDs nach Version 4 direkt im Browser.

Ergebnis

Erzeugt
—
Länge je UUID—
Zufällige Bits je UUID—
Zufallsquelle—
Version und Variante—
UUIDs
—
Bei jeder Änderung der Eingaben werden neue UUIDs erzeugt. Erzeugung und Zufall laufen vollständig im Browser; es wird nichts übertragen.

Was eine UUID ist

Eine UUID – Universally Unique Identifier – ist eine 128 Bit lange Kennung, die weltweit eindeutig sein soll, ohne dass eine zentrale Vergabestelle nötig wäre. Geschrieben wird sie als 32 hexadezimale Zeichen in fünf durch Bindestriche getrennten Gruppen nach dem Muster 8-4-4-4-12, also insgesamt 36 Zeichen. Genormt ist das Format in RFC 4122.

Version 4 und warum sie die übliche ist

Es existieren mehrere Versionen. Version 1 leitet die Kennung aus Zeitstempel und MAC-Adresse ab und verrät damit, wann und auf welchem Gerät sie entstand – aus Datenschutzsicht problematisch. Version 3 und 5 berechnen sie aus einem Namen per Hashfunktion, sind also reproduzierbar. Version 4 besteht dagegen fast vollständig aus Zufall und ist deshalb die verbreitetste. Sechs der 128 Bit sind festgelegt: vier für die Versionsnummer, zwei für die Variante. Bleiben 122 zufällige Bit.

Wie eindeutig ist „eindeutig"?

122 Bit ergeben rund 5,3 × 10³⁶ mögliche Werte. Nach dem Geburtstagsparadoxon liegt die Wahrscheinlichkeit einer Kollision bei einer Milliarde erzeugter UUIDs pro Sekunde über 85 Jahre hinweg immer noch bei etwa 50 Prozent – eine Größenordnung, die in der Praxis keine Rolle spielt. Wichtig ist allerdings die Qualität des Zufalls: Stammt er aus einem schwachen Generator, sinkt die tatsächliche Eindeutigkeit erheblich. Dieser Generator nutzt die kryptografisch sichere Schnittstelle des Browsers, sofern verfügbar, und weist die verwendete Quelle offen aus.

Schreibweise und Speicherung

Die Standardform verwendet Kleinbuchstaben, doch die Norm schreibt beim Einlesen vor, dass Groß- und Kleinschreibung gleichwertig behandelt werden – zwei UUIDs unterscheiden sich also nie nur durch die Schreibweise. Ohne Bindestriche bleiben 32 Zeichen, was in URLs und Dateinamen kompakter ist. In Datenbanken sollte man UUIDs nicht als Text mit 36 Zeichen ablegen, sondern in einem eigenen Binärtyp mit 16 Byte: Das spart mehr als die Hälfte des Speichers und beschleunigt Vergleiche erheblich. Microsoft verwendet für dasselbe Konzept die Bezeichnung GUID; technisch sind beide identisch, lediglich die Byte-Reihenfolge weicht in älteren Windows-Schnittstellen ab.

UUID als Datenbankschlüssel

Gegenüber fortlaufenden Zahlen hat die UUID zwei Vorteile: Sie lässt sich dezentral erzeugen, ohne dass Systeme sich abstimmen müssen, und sie verrät nichts über die Menge der Datensätze – bei einer ID in der URL kann sonst jeder die Größe der Datenbank abschätzen und benachbarte Einträge durchprobieren. Der Preis ist Speicherplatz und Geschwindigkeit: 16 Byte statt 4 oder 8, und weil Version-4-UUIDs zufällig verteilt sind, verteilen sich Einfügungen über den gesamten Index statt am Ende anzuhängen, was bei großen Tabellen zu Fragmentierung führt. Für diesen Fall gibt es zeitlich sortierbare Varianten wie UUID Version 7. Verwandte Werkzeuge sind der Passwort-Generator und der Zufallszahlen-Generator.

Häufige Fragen

Wie eindeutig ist eine UUID wirklich?
Version 4 enthält 122 zufällige Bit, also rund 5,3 × 10³⁶ mögliche Werte. Eine Kollision ist bei realistischen Mengen praktisch ausgeschlossen – vorausgesetzt, der Zufallsgenerator ist gut.
Welche Version soll ich nehmen?
In den meisten Fällen Version 4. Version 1 verrät Zeitpunkt und Gerät, Version 3 und 5 sind aus einem Namen berechnet und damit reproduzierbar. Für zeitlich sortierbare Schlüssel gibt es inzwischen Version 7.
Warum steht an einer Stelle immer eine 4?
Das ist die Versionsnummer, festgelegt im ersten Zeichen der dritten Gruppe. Zusätzlich ist das erste Zeichen der vierten Gruppe auf 8, 9, A oder B festgelegt – es markiert die Variante nach RFC 4122.
Kann ich UUIDs als Datenbankschlüssel verwenden?
Ja, das ist verbreitet. Sie lassen sich dezentral erzeugen und verraten nichts über die Datenmenge. Nachteilig sind der größere Speicherbedarf und bei zufälligen Version-4-Werten die Indexfragmentierung bei sehr großen Tabellen.
Sind die hier erzeugten UUIDs sicher?
Der Generator nutzt die kryptografisch sichere Zufallsschnittstelle des Browsers, sofern sie verfügbar ist, und zeigt die verwendete Quelle an. Erzeugt wird ausschließlich lokal, es wird nichts übertragen.