Wenn Sie in der Dokumentation sowohl "UUID" als auch "GUID" gesehen und sich gefragt haben, ob das zwei verschiedene Dinge sind, hier die Kurzfassung: Es ist dieselbe 128-Bit-Kennung. GUID ist der Microsoft-Name; UUID ist der Begriff aus dem offiziellen Standard und fast ueberall sonst. Dieser Guide erklaert, was sie sind, geht die UUID-Versionen durch - mit Fokus auf die zufaellige v4, die Sie am haeufigsten nutzen - und zeigt genau, wo sie in Datenbanken, APIs und Tests hingehoeren.
Kurze Antwort
UUID und GUID sind dasselbe - eine 128-Bit-eindeutige Kennung, geschrieben als 32 Hex-Ziffern im Muster 8-4-4-4-12. "GUID" ist die Microsoft-Terminologie; "UUID" ist der Begriff im RFC-Standard. Fuer die meisten Anwendungen wollen Sie UUID Version 4 (zufaellig).
UUID vs GUID: sind sie dasselbe?
Ja. UUID (Universally Unique Identifier) und GUID (Globally Unique Identifier) bezeichnen denselben 128-Bit-Wert. Der Name GUID kommt aus der Microsoft-Welt - .NET, SQL Server, COM und die Windows-Registry nennen es eine GUID - waehrend UUID der Name in der formalen Spezifikation ist (urspruenglich RFC 4122, aktualisiert durch RFC 9562 im Jahr 2024) und in Oekosystemen wie PostgreSQL, Java, Python und JavaScript.
Im Alltag koennen Sie die Woerter als austauschbar behandeln. Eine in C# erzeugte GUID und eine in Python erzeugte UUID haben dasselbe Format und koennen in derselben Datenbankspalte liegen. Die einzigen Unterschiede, auf die Sie treffen koennen, sind kosmetisch: Microsoft-Tools wrappen den Wert manchmal in geschweifte Klammern wie {xxxxxxxx-...}, und historisch speicherten einige Microsoft-APIs Teile des Werts in anderer Byte-Reihenfolge. Die kanonische Textform ist ueberall dieselbe.
Wie eine UUID/GUID aussieht
Eine UUID ist 128 Bit, ueblicherweise dargestellt als 32 hexadezimale Ziffern in fuenf Gruppen, getrennt durch Bindestriche - das bekannte 8-4-4-4-12-Layout:
Beispiel-UUID (v4)
3f2504e0-4f89-41d3-9a0c-0305e82c3301
Zwei Positionen in diesem String sind nicht zufaellig: Die erste Ziffer der dritten Gruppe kodiert die Version (oben die 4), und die erste Ziffer der vierten Gruppe kodiert die Variante (meist 8, 9, a oder b). Alles andere in einer v4-UUID ist zufaellig.
Ueberblick der UUID-Versionen
Der Standard definiert mehrere Versionen, die jeweils anders erzeugt werden. Sie brauchen selten mehr als eine davon, aber es hilft zu wissen, was es gibt:
- v1 - zeitbasiert: aus dem aktuellen Zeitstempel plus der MAC-Adresse der Maschine. Nach Erstellungszeit sortierbar, kann aber die MAC-Adresse und den Erstellungszeitpunkt preisgeben.
- v3 - namensbasiert (MD5): ein deterministischer MD5-Hash aus einem Namespace plus einem Namen, sodass dieselbe Eingabe immer dieselbe UUID erzeugt.
- v4 - zufaellig: 122 Zufallsbits. Das ist der Standard fuer die meisten Anwendungen und die Version, die der Generator dieser Site erzeugt.
- v5 - namensbasiert (SHA-1): wie v3, aber mit SHA-1; bevorzugt gegenueber v3, wenn Sie deterministische IDs brauchen.
- v6 / v7 / v8 - neuer (RFC 9562, 2024): v7 ist zeitgeordnet und datenbankfreundlich und wird schnell zur empfohlenen Wahl fuer neue Primaerschluessel.
Version 4 ist das Arbeitstier. Ihre 122 Bits Zufalligkeit machen zufaellige Kollisionen fuer jede realistische Anzahl von IDs praktisch unmoeglich - Sie koennten Milliarden pro Sekunde ueber Jahre erzeugen und nie ein Duplikat erwarten. Weil kein zentraler Koordinator noetig ist, kann jeder Dienst, jedes Geraet oder jeder Testlauf eigene IDs offline erzeugen.
Wann Sie UUIDs nutzen (und wann nicht)
UUIDs glaenzen, wann immer Sie eine eindeutige Kennung brauchen, die ueberall erzeugt werden kann, ohne eine zentrale Autoritaet zu fragen.
Datenbank-Primaerschluessel
Ein UUID-Primaerschluessel laesst Sie die ID im Anwendungscode erzeugen, bevor die Zeile eingefuegt wird, Daten aus mehreren Datenbanken ohne Schluesselkollisionen zusammenfuehren und vermeiden, eine erratbare, sequentielle Zaehlung Ihrer Datensaetze offenzulegen. Die Nachteile sind die Groesse (16 Bytes vs. 4-8 fuer eine Ganzzahl) und bei zufaelliger v4 Indexfragmentierung auf grossen Tabellen. Wenn Schreibleistung zaehlt, bevorzugen Sie eine zeitgeordnete v7 und speichern den Wert in einer nativen uuid- oder binaeren Spalte statt als 36-Zeichen-String.
API-Ressourcen- und Request-IDs
Oeffentliche IDs in REST- und GraphQL-APIs passen hervorragend zu UUIDs. Sie sind nicht sequentiell, sodass ein Client /users/2 nicht aus /users/1 erraten kann, und jeder Client oder Dienst kann eigene Request-IDs und Idempotenz-Schluessel lokal erzeugen, ohne einen Roundtrip zum Server.
Tests und Fixtures
In automatisierten Tests, Seed-Daten und Load-Skripten geben UUIDs kollisionsfreie Kennungen, ohne Zaehler zu pflegen. Erzeugen Sie fuer jeden Lauf einen frischen Satz, damit Datensaetze in parallelen Test-Suites nie kollidieren.
Lassen Sie UUIDs weg, wenn eine einfache Auto-Increment-Ganzzahl reicht - kleine interne Lookup-Tabellen oder ueberall, wo eine kurze, menschenfreundliche ID nuetzlicher ist als globale Eindeutigkeit. Und behandeln Sie eine UUID nie als Geheimnis: Eine v4-UUID ist schwer zu erraten, aber sie ist eine Kennung, kein Ersatz fuer ein signiertes Token oder einen kryptografischen Schluessel.
UUIDs in MongoDB, Java und Python
Jeder grosse Stack kann UUIDs nativ erzeugen und speichern - hier die Kurzreferenz:
- MongoDB: die Standard-_id ist eine ObjectId, keine UUID, aber Sie koennen eine UUID in _id oder jedem Feld mit der BSON UUID (Binary Subtype 4) speichern. Treiber bieten Helfer wie UUID(), damit der Wert 16 Bytes bleibt statt eines 36-Zeichen-Strings.
- Java: java.util.UUID.randomUUID() liefert eine v4-UUID und UUID.fromString() parst eine; Hibernate/JPA mappt sie auf eine native uuid- oder binary(16)-Spalte.
- Python: das eingebaute uuid-Modul bietet uuid.uuid4() fuer zufaellige IDs (plus uuid1 und uuid5); rufen Sie str() fuer die Textform oder .bytes fuer den 16-Byte-Wert auf.
- .NET / C#: Guid.NewGuid() erzeugt eine und die uniqueidentifier-Spalte von SQL Server speichert sie - das ist die klassische "GUID".
- JavaScript: crypto.randomUUID() erzeugt eine standardkonforme v4-UUID in modernen Browsern und Node.js, ohne Bibliothek.
Haeufig gestellte Fragen
Ist eine GUID dasselbe wie eine UUID?
Ja. Sie beschreiben dieselbe 128-Bit-Kennung. GUID ist der Name, den Microsoft in .NET, SQL Server und Windows verwendet; UUID ist der Begriff im offiziellen RFC-Standard und den meisten anderen Oekosystemen. Das Format ist identisch, sodass eine GUID und eine UUID austauschbar gespeichert und verglichen werden koennen.
Welche UUID-Version sollte ich nutzen?
Nutzen Sie Version 4 (zufaellig) fuer allgemeine eindeutige IDs - sie ist am gaengigsten und braucht keine Koordination. Wenn Sie Primaerschluessel fuer eine grosse, schreibintensive Datenbank waehlen, ziehen Sie Version 7 in Betracht, die zeitgeordnet ist und effizienter indexiert. Nutzen Sie v5, wenn dieselbe Eingabe immer dieselbe ID erzeugen soll.
Koennen zwei UUIDs jemals kollidieren?
Theoretisch ja, praktisch nein. Eine v4-UUID hat 122 Zufallsbits, sodass die Chance auf ein Duplikat astronomisch klein ist - Sie muessten Milliarden UUIDs pro Sekunde ueber viele Jahre erzeugen, bevor eine Kollision wahrscheinlich wuerde. Fuer alle praktischen Zwecke sind sie eindeutig.
Sind UUIDs sicher oder geheim?
Eine zufaellige v4-UUID ist praktisch unmoeglich zu erraten, aber sie ist eine Kennung, keine Anmeldedaten. Nutzen Sie eine nicht als Passwort, Session-Geheimnis oder als einzige Absicherung einer Ressource. Kombinieren Sie sie mit korrekter Authentifizierung und signierten Tokens, wo Sicherheit zaehlt.
Warum hat meine GUID geschweifte Klammern?
Microsoft-Tools zeigen oder speichern GUIDs oft in geschweiften Klammern, wie {3F2504E0-4F89-41D3-9A0C-0305E82C3301}, und manchmal in Grossbuchstaben. Die Klammern und die Gross-/Kleinschreibung sind nur Formatierung - entfernen Sie die Klammern und setzen Sie den Wert in Kleinbuchstaben, um die kanonische UUID-Form zu erhalten, die ueberall sonst verwendet wird.
UUID v4 sofort erzeugen
Nutzen Sie den kostenlosen UUID Generator, um eine oder viele standardkonforme UUID-v4-(GUID)-Werte im Browser zu erzeugen - ohne Anmeldung, und nichts verlaesst Ihr Geraet.