GUID uitgelegd
GUID is de naam die Microsoft gebruikt en verwijst naar dezelfde structuur van 128 bits als een UUID. Het verschil zit alleen in de notatie: in de documentatie van .NET en SQL Server zie je vaak hoofdletters tussen accolades.
Daarom staan op deze pagina hoofdletters en accolades standaard aan. De waarde wordt op dezelfde manier gemaakt als bij v4; alleen de notatie is op .NET afgestemd.
Hoe het werkt
- Klik op GUID genereren. Hoofdletters en accolades staan al aan.
- Laat de accolades staan voor C#-code en zet ze uit voor een database.
- In SQL Server passen de waarden direct in een
UNIQUEIDENTIFIER-kolom. - Neem het resultaat mee met Alles kopiëren of de downloadknoppen.
Waarvoor je het gebruikt
- Een
UNIQUEIDENTIFIER-kolom in SQL Server. - De tekenreeks die
Guid.Parsein .NET accepteert. - Het identificatieformaat dat Active Directory en Windows-systemen gebruiken.
Structuur
De bitindeling is identiek aan UUID v4: het dertiende hexadecimale teken is het versienummer (4) en het zeventiende het variantnummer. Alleen de notatie krijgt hoofdletters en accolades.
Waar GUID past
| Optie | Wanneer gebruiken |
|---|---|
GUID | Microsoft-notatie met hoofdletters en accolades als standaard |
UUID v4 | Dezelfde waarde, maar met kleine letters en alleen koppeltekens |
UUID v7 | Als je een GUID nodig hebt die ook nog sorteert |
Overzicht van alle UUID-versies
| Versie | Sorteerbaar | Herkomst van de bits | Waarvoor het past |
|---|---|---|---|
| v1 | Nee | Tijdstempel + MAC-adres | Bestaande systemen die v1 verwachten |
| v3 | Nee | MD5-hash van de naam | Deterministische ID's als MD5 verplicht is |
| v4 | Nee | 122 random bits | Vrijwel elke gewone unieke identificatie |
| v5 | Nee | SHA-1-hash van de naam | Als dezelfde naam altijd dezelfde ID moet geven |
| v6 | Ja | Herschikte tijdstempel | Als je zowel randomheid als sortering wilt |
| v7 | Ja | Unix-tijd in milliseconden | Primaire sleutels en gebeurtenis-ID's |
| v8 | Nee | Zelfgekozen bitindeling | Eigen formaten en experimenten |
Alle zeven versies zijn 128 bits en gebruiken dezelfde notatie 8-4-4-4-12. Het verschil zit alleen in wat elk bit voorstelt.
Codevoorbeelden
javascript
// De waarde is gelijk, alleen de notatie verschilt
const id = crypto.randomUUID().toUpperCase();
const guid = `{${id}}`;
python
import uuid
id = "{%s}" % str(uuid.uuid4()).upper()
java
String guid = java.util.UUID.randomUUID().toString().toUpperCase();
csharp
var guid = Guid.NewGuid().ToString();
// Wil je expliciet accolades, gebruik dan:
var braces = Guid.NewGuid().ToString("B").ToUpperInvariant();
sql
DECLARE @g UNIQUEIDENTIFIER = NEWID();
SELECT UPPER(CONVERT(varchar(38), @g));
Veelgestelde vragen
Zijn GUID en UUID hetzelfde?
Ja. GUID is de naam die Microsoft gebruikt en de structuur is gelijk aan die van een UUID van 128 bits. Alleen de notatiegewoonten verschillen een beetje.
Moet ik hoofdletters of kleine letters gebruiken?
Beide zijn geldig. RFC 9562 adviseert kleine letters, terwijl de .NET-documentatie vaak hoofdletters gebruikt. Vergelijk waarden daarom zonder onderscheid tussen hoofd- en kleine letters.
Zijn de accolades verplicht?
Nee. Ze zijn er alleen voor de leesbaarheid en horen niet bij de waarde zelf. Voor een database laat je ze meestal weg.