GUID Generator: eindeutige Kennungen erstellen und verstehen

GUID- / UUID-Generator

Erzeuge zufällige UUIDs der Version 4 mit einer kryptografischen Zufallsquelle.

Ein GUID Generator erstellt Kennungen, mit denen sich Datensätze, Dateien oder Vorgänge unterscheiden lassen. GUID steht für „Globally Unique Identifier“. Häufig haben GUIDs das Format einer UUID (Universally Unique Identifier), zum Beispiel 550e8400-e29b-41d4-a716-446655440000. Im Folgenden erkläre ich den Aufbau, die wichtigsten Varianten und die Frage, wie wahrscheinlich eine doppelte Kennung ist.

Aufbau einer GUID

Eine UUID besteht aus 128 Bit. In der üblichen Schreibweise erscheinen diese als 32 hexadezimale Zeichen, aufgeteilt in fünf Gruppen mit dem Muster 8-4-4-4-12. Die vier Bindestriche erhöhen die Lesbarkeit; insgesamt ist die Darstellung damit 36 Zeichen lang.

Bestandteil Beispiel Anzahl Zeichen
Erste Gruppe 550e8400 8
Zweite Gruppe e29b 4
Dritte Gruppe 41d4 4
Vierte Gruppe a716 4
Fünfte Gruppe 446655440000 12

Bei einer UUID der Version 4 beginnt die dritte Gruppe mit 4. Die vierte Gruppe beginnt mit 8, 9, a oder b. Diese Stellen kennzeichnen Version und Variante; sie sind keine frei gewählten Zufallszeichen. Ein GUID Generator kann je nach Umsetzung unterschiedliche UUID-Versionen ausgeben. Wer eine bestimmte Version benötigt, sollte daher die Ausgabe prüfen.

Wann ist ein GUID Generator nützlich?

GUIDs eignen sich für Kennungen, die an mehreren Stellen unabhängig voneinander erzeugt werden: etwa für Datenbankeinträge, importierte Dateien oder Vorgangsnummern in verteilten Anwendungen. Anders als bei einer fortlaufenden Nummer muss dafür nicht zuerst eine zentrale Stelle die nächste freie Zahl vergeben.

Siehe auch  Bold Text Generator: Text in auffällige Unicode-Zeichen umwandeln

Eine GUID ist allerdings weder ein Geheimnis noch automatisch ein Zugangsrecht. Sie ersetzt kein Passwort und keine Berechtigungsprüfung. Auch für die dauerhafte Eindeutigkeit wichtiger Daten ist eine eindeutige Einschränkung in der Datenbank sinnvoll.

Wie wahrscheinlich sind doppelte GUIDs?

Bei einer korrekt zufällig erzeugten UUID der Version 4 bleiben 122 Zufallsbits. Daraus ergeben sich 2122 mögliche Zufallswerte. Eine Kollision bedeutet, dass zwei erzeugte Kennungen denselben Wert erhalten. Für eine kleine Kollisionswahrscheinlichkeit lässt sich diese näherungsweise so berechnen:

Kollisionswahrscheinlichkeit ≈ n × (n − 1) ÷ (2 × 2122)

Dabei bezeichnet n die Anzahl erzeugter UUIDs. Die folgende Tabelle zeigt Rechenbeispiele unter der Annahme unabhängiger, gleichmäßig verteilter Zufallswerte:

Erzeugte UUIDs (n) Mögliche Paare: n × (n − 1) ÷ 2 Ungefähre Kollisionswahrscheinlichkeit
10 45 8,5 × 10−36
1.000 499.500 9,4 × 10−32
1.000.000 499.999.500.000 9,4 × 10−26

Beispielsweise entstehen bei einer Million UUIDs rechnerisch knapp 500 Milliarden mögliche Paare. Trotzdem bleibt die Kollisionswahrscheinlichkeit bei einer sauber erzeugten Version 4 äußerst gering. Die Rechnung ist jedoch keine Garantie für jeden Generator: Die Qualität der Zufallsquelle ist entscheidend.

Welche UUID-Version passt?

Version 4 beruht überwiegend auf Zufallswerten und ist eine naheliegende Wahl für unabhängig erzeugte Kennungen. Version 5 erzeugt dagegen aus einem Namensraum und einem Namen einen reproduzierbaren Wert: Gleiche Eingaben führen wieder zur gleichen UUID. Version 7 enthält einen Zeitanteil und kann hilfreich sein, wenn eine zeitliche Sortierung der Kennungen erwünscht ist.

Siehe auch  Hex Converter: Hexadezimalzahlen umrechnen

Für die praktische Auswahl zählt deshalb nicht nur, eine GUID zu erstellen, sondern auch, wofür sie verwendet wird: zufällige Kennung, reproduzierbare Zuordnung oder zeitlich geordnete Identifikation.