Was ist eine GUID?
GUID steht für Globally Unique Identifier und ist Microsofts Begriff für einen 128-Bit-Bezeichner. Im Windows- und .NET-Umfeld wird er traditionell in Großbuchstaben und geschweiften Klammern geschrieben: {550E8400-E29B-41D4-A716-446655440000}.
Der Inhalt ist identisch mit einer UUID. Dieser Generator erzeugt kryptografisch zufällige v4-Werte und formatiert sie anschließend so, wie es die Microsoft-Werkzeuge erwarten.
GUID und UUID: derselbe Gegenstand
Es gibt keinen technischen Unterschied. Beide bestehen aus 128 Bit, kodieren Version und Variante an denselben Stellen und lassen sich ohne Umrechnung austauschen.
Eine historische Eigenheit bleibt: Microsoft speichert die ersten drei Felder intern in Little-Endian-Reihenfolge. Wer GUIDs als Rohbytes zwischen .NET und anderen Plattformen austauscht, muss die Byte-Reihenfolge beachten - bei der Textform tritt das Problem nicht auf.
GUIDs im .NET-Ökosystem
Guid.NewGuid() liefert eine zufällige v4-GUID. Für die Formatierung stehen mehrere Kennzeichen bereit: "D" mit Bindestrichen, "B" mit geschweiften Klammern, "N" ohne Trennzeichen, "P" mit runden Klammern.
var id = Guid.NewGuid();
Console.WriteLine(id.ToString("B")); // {0cff580f-0d52-48e3-859e-0ef5e6ebf7c1}
In Entity Framework Core wird eine Guid-Eigenschaft automatisch auf uniqueidentifier abgebildet.
GUIDs in SQL Server
Der passende Datentyp ist UNIQUEIDENTIFIER mit 16 Byte. Als geclusterter Primärschlüssel sind zufällige GUIDs allerdings problematisch: jeder INSERT landet an einer anderen Stelle und fragmentiert den Index.
Wenn Sie GUIDs als Schlüssel brauchen, gibt es zwei gangbare Wege: einen aufsteigenden Schlüssel für das Clustering verwenden und die GUID nur als eindeutigen Zusatzschlüssel führen, oder auf zeitlich sortierte Werte wie UUID v7 wechseln.
GUIDs in Registry und COM
Windows nutzt GUIDs an vielen Stellen als stabile Bezeichner: COM-Klassen (CLSID) und Schnittstellen (IID), Geräteklassen, Installationspakete in HKEY_CLASSES_ROOT. In diesen Kontexten ist die Schreibweise mit geschweiften Klammern und Großbuchstaben verbindlich - deshalb ist sie in diesem Generator voreingestellt.
Typische Einsatzgebiete
Neben den Windows-internen Verwendungen sind GUIDs im .NET-Umfeld üblich für Primärschlüssel verteilter Anwendungen, Korrelations-IDs in Logs, Mandantenkennungen in Mehrmandantensystemen, Idempotenzschlüssel in Messaging-Systemen und Namen für Blob-Uploads.
Formatvarianten
Dieselben 128 Bit lassen sich unterschiedlich darstellen: mit oder ohne Bindestriche, in Groß- oder Kleinbuchstaben, mit geschweiften oder runden Klammern. Wichtig ist nur, dass Sie sich innerhalb eines Systems auf eine Schreibweise festlegen - sonst scheitern Vergleiche an Formatunterschieden statt an tatsächlich verschiedenen Werten. Dieser Generator stellt Groß-/Kleinschreibung, Bindestriche und Klammern einzeln um.