Nil UUID Generator

Genereer speciale volledig-nul UUID die als sentinelwaarden in systemen worden gebruikt

Wat is Nil UUID?

Nil UUID is een speciale vorm van UUID waarbij alle 128 bits op nul zijn gezet. Het wordt weergegeven als:

00000000-0000-0000-0000-000000000000

De Nil UUID dient als een speciale gereserveerde waarde in het UUID-ecosysteem, gedefinieerd in RFC 4122. Het heeft een specifieke semantische betekenis als een "lege" of "null" identifier wanneer een UUID vereist is maar geen daadwerkelijke identifier passend is.

Hoe Nil UUID werkt

  1. Het is een vooraf gedefinieerde constante met alle 128 bits op nul gezet
  2. Het volgt technisch gezien het UUID-formaat van 32 hexadecimale cijfers met streepjes in het patroon 8-4-4-4-12
  3. Het heeft geen versie- of variantbits omdat alle bits nul zijn
  4. Het wordt expliciet geïdentificeerd in RFC 4122 als een speciale geval UUID
  5. Het kan worden gebruikt als een sentinelwaarde of tijdelijke aanduiding in systemen die met UUID's werken

Voordelen & Overwegingen

AdvantagesConsiderations
  • Universeel erkende speciale waarde
  • Nuttig als standaard-/lege toestand
  • Gemakkelijk te controleren (allemaal nullen)
  • Consistente sentinelwaarde over systemen heen
  • Niet wereldwijd uniek (ontworpen)
  • Mag nooit als een daadwerkelijke identifier worden gebruikt
  • Kan worden geïnterpreteerd als een fout of niet-geïnitialiseerde waarde
  • Kan speciale behandeling vereisen in systemen

Nil UUID-structuur

BitsContent
0-127Alle nullen (0x00000000000000000000000000000000)

In tegenstelling tot standaard UUID's die specifieke versie- en variantbits hebben, heeft de Nil UUID alle bits op nul gezet, inclusief wat normaal de versie- en variantbits zouden zijn.

Nil UUID versus andere versies

VersionGebaseerd opGebruikssituatieUniqueness
Nil UUIDConstante (alle nullen)Speciale waarde, tijdelijke aanduiding❌ Niet uniek (ontworpen)
UUID v1Tijd + MACTijdgeordende ID's✅ Wereldwijd uniek
UUID v3Namespace + MD5Deterministische ID's✅ Uniek per invoer
UUID v4RandomVeilige willekeurige ID's✅ Statistisch uniek
UUID v5Namespace + SHA-1Deterministische ID's✅ Uniek per invoer
UUID v6Tijd (herordend)Sorteerbare ID's✅ Wereldwijd uniek
UUID v7Tijd + willekeurigSorteerbare ID's✅ Wereldwijd uniek

Veelvoorkomende gebruikssituaties

  • Standaardwaarden: Initiële staat voordat een echte UUID is toegewezen
  • Sentinelwaarden: Speciale markering in systemen die UUID's vereisen
  • Foutdetectie: Indicator van niet-geïnitialiseerde of ontbrekende UUID
  • Database tijdelijke aanduidingen: Wanneer een echte UUID in afwachting is of niet van toepassing is
  • Wortelobjecten: Ouder-kindrelaties waarbij de wortel geen ouder heeft
  • Speciale functies: Systeemoperaties die een bekende UUID-waarde nodig hebben
  • Testing: Tijdelijke aanduiding in testomgevingen

Veelgestelde vragen

Is de Nil UUID een geldige UUID?

Ja. De Nil UUID is expliciet gedefinieerd in RFC 4122 als een speciale geval UUID. Hoewel het niet de normale versie-/variantregels volgt, is het een erkende UUID-waarde met speciale semantiek.

Kan ik de Nil UUID als identifier gebruiken?

Nee. Je mag de Nil UUID nooit als een daadwerkelijke identifier gebruiken. Het is een speciale gereserveerde waarde bedoeld om de afwezigheid van een UUID of een standaardtoestand weer te geven. Het gebruik ervan als reguliere identifier zou het speciale doel schenden.

Hoe controleer ik of een UUID de Nil UUID is?

Vergelijk eenvoudig de UUID met de string "00000000-0000-0000-0000-000000000000" of controleer of alle bits nul zijn. De meeste UUID-bibliotheken bieden een specifieke functie om de Nil UUID te controleren.

Herkennen alle systemen de Nil UUID als speciaal?

Niet noodzakelijk. Hoewel het in de RFC is gedefinieerd, geven niet alle systemen het speciale behandeling. Sommige databases kunnen het als een geldige waarde toestaan, terwijl anderen het kunnen weigeren of speciale semantiek geven.

Is er een verschil tussen Nil UUID en een lege UUID?

In correct geïmplementeerde systemen zouden "Nil UUID" en "lege UUID" naar hetzelfde concept moeten verwijzen: de alle-nullen UUID. Sommige systemen kunnen echter verschillende representaties hebben voor "leeg" versus "nil", dus het is belangrijk om de specifieke implementatie te controleren.

Resources