Web Entwicklung
UUID Versionen: Welche gibt es und wann sollte ich welche verwenden?
Für viele Entwickler ist die UUID ein fester Bestandteil der täglichen Arbeit. Doch was ist eine UUID und welche Versionen gibt es? In diesem Artikel werden wir uns die verschiedenen Versionen von UUIDs ansehen und welche Unterschiede es gibt.
Adrian Natter
Für die meisten Entwickler ist eine UUID einfach eine zufällige Zeichenkette, die als eindeutiger Schlüssel verwendet wird. Doch hinter einer UUID kann mehr stecken, als nur ein paar zufällige Zeichen. Lasst uns das "Rabbit-Hole" der UUIDs erkunden und uns die verschiedenen Versionen ansehen.
Welche UUID Versionen gibt es?
Es gibt insgesamt 8 verschiedene Versionen von UUIDs, die in der Spezifikation RFC 9562 definiert sind. Höhere Versionen sind nicht unbedingt besser als niedrigere Versionen, sondern dienen dazu, verschiedene Anwendungsfälle zu unterstützen.
Version 1
UUID Version 1 (v1) wird aus der MAC-Adresse des Computers und der aktuellen Zeit generiert. Somit kann aus diesem UUID-Typ abgeleitet werden, wann und wo die UUID generiert wurde. Dies kann für einige Anwendungsfälle nützlich sein, aber auch ein Sicherheitsrisiko darstellen.
Version 2
UUID Version 2 (v2) ist reserviert für DCE-Sicherheits-UUIDs.
Version 3
UUID Version 3 (v3) werden aus MD5-Hashes generiert. Als Basis können beliebige Werte verwendet werden. Häufig werden damit URLs oder andere eindeutige Schlüssel in UUIDs umgewandelt.
Achtung! Verwende diese Version nicht, wenn du sensible Informationen (z.B.: Passwörter) in der UUID speichern möchtest, da MD5 als unsicher gilt.
Version 4
UUID Version 4 (v4) sind rein zufällige UUIDs. Diese Version ist die am häufigsten verwendete Version von UUIDs. Sie enthalten keinerlei Informationen über den Ersteller oder den Zeitpunkt der Erstellung.
Diese Version ist am besten geeignet, wenn eine zufällige ID benötigt wird. Somit sollte sie als Standard verwendet werden, wenn keine speziellen Anforderungen bestehen.

Version 5
UUID Version 5 (v5) werden aus SHA-1-Hashes generiert. Ähnlich wie bei Version 3 können beliebige Werte als Basis verwendet werden.
Achtung! Verwende diese Version nicht, wenn du sensible Informationen (z.B.: Passwörter) in der UUID speichern möchtest, da SHA-1 als unsicher gilt.
Version 6
UUID Version 6 (v6) fast identisch mit Version 1, jedoch ist die Reihenfolge vertauscht damit die IDs leichter nach Datum sortiert werden können.
Version 7
UUID Version 7 (v7) kombiniert zufällige Daten (wie in Version 4) mit einem Zeitstempel. Somit wird ein sortierbarer UUID generiert ohne sensible Informationen wie die MAC-Adresse zu enthalten.
Diese Version ist nützlich, wenn eine UUID benötigt wird, die sortierbar sein soll, z.B. für Datenbanken. Da die MAC-Adresse nicht enthalten ist, ist sie "sicherer" als Version 1.
Version 8
UUID Version 8 (v8) eine Anwendungsspezifische UUID. In dieser Version hat der Ersteller die Freiheit wie er die UUID generieren möchte.
Wann sollte ich nun welche Version verwenden?
Mit 8 verschiedenen Versionen von UUIDs kann es schwer sein, die richtige Version für den jeweiligen Anwendungsfall zu finden. Es gibt jedoch einige Faustregeln, die dir helfen können.
- Meistens wird Version 4 als Standard verwendet, wenn eine zufällige UUID benötigt wird. Falls du einfach eine ID benötigst, verwende Version 4.
- Falls die ID sortierbar sein soll, verwende Version 7. Diese Version enthält einen Zeitstempel, der es ermöglicht, die UUIDs nach Datum zu sortieren.
- v5 oder v8 können verwendet werden, um eigene Daten darin zu verpacken. Diese Versionen sind jedoch weniger verbreitet und sollten nur verwendet werden, wenn du genau weißt, was du tust.
Wenn dieser Post dir geholfen hat, teile ihn mit deinen Kollegen. Falls du Fragen hast, schreibe mir gerne eine E-Mail.
Adrian Natter