Was ist Kurze UUID?
Eine Short UUID enthält dieselbe Zufallsmenge wie eine gewöhnliche UUID, wird aber mit einem kompakteren Alphabet geschrieben. Aus 16 Byte Zufall werden so 22 Zeichen statt 36 — bei gleicher Eindeutigkeit.
Zur Wahl stehen daneben kürzere Varianten: 8 Byte ergeben 11 Zeichen (64 Bit) und 12 Byte ergeben 16 Zeichen (96 Bit). Damit lässt sich die Länge genau auf den Bedarf zuschneiden, etwa wenn eine Kennung sichtbar in einer URL stehen soll.
Anleitung
- Wähle unter Bytes an Zufall die gewünschte Länge.
- Gib die Anzahl der Kennungen an.
- Klicke auf Generieren und kopiere die Werte.
Anwendungsfälle
- Kurzlinks und Freigabe-Token in URLs.
- Sitzungs- und Cookie-Kennungen mit begrenztem Platz.
- Dateinamen, die nicht die volle UUID-Länge tragen sollen.
UUID-Versionen im Überblick
| Version | Sortierbar | Basiert auf | Geeignet für |
|---|---|---|---|
| v1 | Nein | Zeitstempel + MAC-Adresse | Altsysteme, die v1 weiterhin erwarten |
| v3 | Nein | MD5-Hash eines Namens | Deterministische Kennungen, wenn MD5 vorgeschrieben ist |
| v4 | Nein | 122 zufällige Bits | Nahezu jede allgemeine Kennung |
| v5 | Nein | SHA-1-Hash eines Namens | Wenn derselbe Name immer dieselbe Kennung ergeben muss |
| v6 | Ja | Zeitstempel, neu geordnet | Sortierbare Kennungen ohne Verzicht auf Zufall |
| v7 | Ja | Unix-Zeit in Millisekunden | Primärschlüssel in Datenbanken und Ereignis-IDs |
| v8 | Nein | Eigenes Bit-Layout | Herstellerspezifische oder experimentelle Formate |
Alle sieben Versionen sind 128 Bit lang und werden im selben Muster 8-4-4-4-12 geschrieben. Nur die Bedeutung der Bits ändert sich.
Häufige Fragen
Ist das noch eine UUID?
Im engeren Sinn nicht — eine UUID ist genau 128 Bit lang und kanonisch geschrieben. Die 16-Byte-Variante enthält dieselbe Zufallsmenge, trägt aber kein Versions- und Variantenfeld, weil Base64url diese Informationen nicht abbildet.
Warum Base64url und nicht Base62?
Weil Base64url ohne Escaping in URLs und Dateinamen funktioniert und sich mit - und _ auf URL-sichere Zeichen beschränkt. Ein eigenes Base62-Alphabet wäre nur unnötig kompliziert.
Wie wahrscheinlich sind Kollisionen?
Bei 16 Byte genauso unwahrscheinlich wie bei einer UUID. Bei 8 Byte ist die Wahrscheinlichkeit höher — für Kennungen in großen Mengen solltest du die 16-Byte-Variante nehmen.