Bist du in deiner Software-Entwicklung schon mal über diesen kryptischen Begriff UUID oder GUID gestolpert und hast dich gefragt, was du damit eigentlich anfangen sollst? Keine Sorge – genau darum geht’s hier. Du bist also goldrichtig.

Was sind UUIDs?

Der Begriff UUID kommt aus dem Englischen und steht für Universally Unique Identifier. In der Microsoft- bzw. Windows-Welt stolperst du oft über das Schwesterkürzel GUID (Globally Unique Identifier) – am Ende meinen beide dasselbe: einen universellen, eindeutigen Bezeichner. Und genau diese garantierte Eindeutigkeit macht UUIDs so spannend für Entwickler.

UUIDs werden typischerweise im Hex-Format dargestellt, schön in Gruppen unterteilt, damit das Ganze nicht komplett aussieht wie der Absturz eines Katzenbabys über die Tastatur. Ein Beispiel? So etwa:

				
					38b0a4ca-74c2-4d37-a556-5203eff5bff3
				
			

Wozu benötigt man UUIDs?

Das ist doch "eindeutig" ...

So wie eine Personalnummer einen Mitarbeiter eindeutig identifiziert, brauchen auch Software-Systeme eindeutige Kennzeichnungen für ihre Daten: Adressen, Bestellungen, Artikel, Kunden – das volle Programm. Die simpelste Variante ist eine fortlaufende Zahl, die bei jedem neuen Eintrag hochgezählt wird. In Datenbank-Sprache heißt das schlicht Auto-Increment-ID. Datensatz 1 bekommt die 1, der nächste die 2 – easy.

Kompliziert wird’s erst, wenn du nicht mehr nur eine Datenbank hast, sondern ein verteiltes System mit mehreren Servern, die nicht ständig perfekt im Gleichschritt laufen. Dann kann es passieren, dass Server A die Kundennummer 1234 vergibt – und Server B, der gerade mal kurz nicht hingeschaut hat, ebenfalls eine 1234 für einen ganz anderen Kunden erzeugt. Wenn die Systeme später synchronisiert werden, knallt’s: doppelte IDs, Konflikte, Chaos.

Und genau hier kommen UUIDs ins Spiel. Eine UUID besteht aus 128 Bits voller (pseudo-)Zufall – das ergibt rund 1,7 × 10³⁸ mögliche Kombinationen. Oder in menschlicher Sprache: eine Zahl mit so vielen Nullen, dass du beim Aussprechen zwischendurch einen Kaffee brauchst. Die Wahrscheinlichkeit, dass zwei Systeme zufällig dieselbe UUID erzeugen, ist praktisch null. Selbst wenn du 100 UUIDs pro Sekunde erzeugst, wärst du – grob – bis weit über das Ende des Universums beschäftigt, bis du alle Varianten einmal durch hast.

Kurz gesagt: UUIDs sind wirklich universell eindeutig – perfekt, wenn du globale, verteilte oder einfach nur solide Systeme bauen willst.

Das hat die Vorsehung nicht vorhergesehen

UUIDs haben einen gewaltigen Vorteil: Sie sind nicht vorhersagbar. Und genau das macht sie im Alltag von Web-Apps, APIs und Datenbanken so wertvoll. Stell dir vor, jeder neue Datenbankeintrag würde einfach die Nummer „123, 124, 125 …“ bekommen. Ein neugieriger Besucher könnte dann mühelos raten, welche IDs es noch gibt – und im schlimmsten Fall auf Daten zugreifen, die gar nicht für ihn gedacht sind.

Mit einer UUID sieht die Sache anders aus. Diese kryptisch anmutenden Zeichenketten wirken nicht nur zufällig, sie sind es im besten Sinne. Du kannst nicht erraten, welche UUID als Nächstes kommt – und ein Außenstehender auch nicht. Das bedeutet: Selbst wenn jemand die URL eines bestimmten Datensatzes kennt, lässt sich daraus nichts über andere Datensätze ableiten.

Für dich als Entwickler und Betreiber bedeutet das einen ordentlichen Sicherheits-Boost. UUIDs verhindern „ID-Harvesting“, erschweren automatisiertes Abgreifen von Daten und sorgen dafür, dass deine Endpunkte nicht wie ein offenes Scheunentor wirken. Kurz gesagt: Sie schützen deine Nutzer – und dich – davor, dass jemand einfach durch die Datensätze blättert wie durch ein Telefonbuch von 1998.

Share the Post:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Auch interessant

WordPress Cookie Hinweis von Real Cookie Banner