Wat een UUID eigenlijk is
Een UUID, een afkorting voor Universally Unique Identifier, is een 128-bits waarde waarmee u iets van een label kunt voorzien zonder daarvoor toestemming te hoeven vragen. U ziet het ook wel GUID genoemd, ofwel Globally Unique Identifier, de naam die Microsoft aan hetzelfde concept gaf binnen Windows en de .NET-wereld. De twee termen beschrijven in vrijwel elk praktisch geval hetzelfde 128-bits getal, dus als een collega GUID zegt en u UUID, heeft u het bijna altijd over precies hetzelfde.
Die 128 bits worden normaal gesproken geschreven als 32 hexadecimale cijfers verdeeld in vijf groepen door koppeltekens, in een 8-4-4-12-patroon. Een typische waarde ziet eruit als 123e4567-e89b-12d3-a456-426614174000. De koppeltekens hebben op zichzelf geen betekenis; ze bestaan puur zodat een mens de waarde kan lezen zonder de draad kwijt te raken. Elk teken is een hex-cijfer van 0 tot f, wat verklaart waarom een UUID dichter aanvoelt dan een alledaags getal, ook al is het onder de motorkap gewoon één heel groot geheel getal.

Versies, en waarom v4 wint
De standaard definieert verschillende versies, en ze verschillen in hoe de bits worden gevuld. Versie 1 is tijdgebaseerd: het weven de huidige tijdstempel en het MAC-adres van het netwerk van de machine samen. Daardoor zijn v1-waarden sorteertbaar op aanmaaktijd, maar het lekt ook informatie over waar en grofweg wanneer ze zijn gemaakt, wat niet altijd wenselijk is. Versies 3 en 5 zijn naamgebaseerd en hashen een naamruimte plus een naam zodat dezelfde invoer altijd dezelfde identifier oplevert.
Versie 4 kiest een geheel andere route. Het is vrijwel pure willekeurigheid. Van de 128 bits zijn er zes gereserveerd om de versie en het variant te markeren, waardoor er 122 bits overblijven die worden gevuld met willekeurige data. Er is geen tijdstempel, geen MAC-adres, geen naamruimte, alleen ruis. Dat is precies waarom de meeste generators, inclusief deze, standaard v4 genereren. Het onthult niets over het apparaat of het moment van aanmaak, en het vereist geen coördinatie tussen de partijen die het aanmaken. De tool op deze pagina draait volledig in uw browser, zodat de willekeurige waarden uw machine nooit verlaten.
Hoe onwaarschijnlijk een botsing echt is
De logische zorg is dat twee willekeurige UUID's op een dag identiek zouden kunnen zijn. Met 122 willekeurige bits is de ruimte van mogelijke v4-waarden 2 tot de macht 122, wat neerkomt op ongeveer 5,3 gevolgd door 36 nullen. Om dat in menselijke termen te stellen: u zou miljarden UUID's per seconde moeten genereren gedurende vele decennia voordat de kans op één enkel duplicaat meetbaar wordt. De standaard zelf beschrijft de kans op een botsing als zo dicht bij nul dat het verwaarloosbaar is. In de praktijk behandelen teams v4 als uniek en gaan ze verder, en dat is terecht.

Waar ontwikkelaars ze voor gebruiken
Omdat uniciteit geen centrale autoriteit vereist, blinken UUID's uit op plekken waar coördinatie duur of onmogelijk is. Ze zijn een natuurlijke keuze voor primaire sleutels in databases, vooral wanneer meerdere services rijen invoegen en u niet kunt wachten op een gedeelde teller voor het volgende nummer. In gedistribueerde systemen kunnen twee knooppunten aan weerszijden van de planeet tegelijkertijd identifiers aanmaken zonder ooit te botsen. Ze dienen ook als API-idempotentiesleutels, waarbij een client een UUID aan een verzoek koppelt zodat de server een duplicaat veilig kan negeren als het netwerk opnieuw probeert. Sessietokens, bestandsnamen, event-ID's en berichtsleutels maken allemaal gebruik van dezelfde eigenschap.
UUID versus auto-increment ID's
Het klassieke alternatief is het auto-increment geheel getal: 1, 2, 3, enzovoort. Opeenvolgende ID's zijn compact, sorteren van nature en zijn makkelijk te lezen, maar ze hebben echte nadelen. Ze onthullen hoeveel records er bestaan en laten buitenstaanders aangrenzende waarden raden, en ze dwingen elke invoeging door één teller, wat een knelpunt wordt wanneer u een database sharded of data uit veel bronnen samenvoegt. UUID's lossen die problemen op door elke partij in staat te stellen onafhankelijk een sleutel te genereren en door niets te verraden over volume of volgorde. De afruil is omvang en iets minder lokaliteit in indexen. Voor systemen die horizontaal schalen of hun internals moeten verbergen, is die afruil het doorgaans waard. U kunt dit en vergelijkbare hulpmiddelen verkennen via onze alle generators-collectie, of bladeren door de bredere set ontwikkelaarstools voor verwante bouwstenen.
Veelgestelde vragen
Is een GUID hetzelfde als een UUID?
Voor dagelijks gebruik, ja. GUID is de naam die Microsoft geeft aan dezelfde 128-bits identifier. Het enige echte verschil zit in de bytevolgorde in de ruwe binaire vorm op sommige Windows-systemen; in tekstvorm zijn ze identiek en uitwisselbaar.
Welke UUID-versie genereert deze tool?
Hij genereert versie 4, de willekeurige variant. Van zijn 128 bits zijn er 122 gevuld met willekeurige data, waardoor elke waarde uiterst onwaarschijnlijk is om te herhalen en geen tijdstempel of apparaatinformatie bevat.
Kunnen twee UUID's ooit hetzelfde zijn?
In theorie is de kans niet precies nul, maar met ongeveer 5,3 keer 10 tot de macht 36 mogelijke v4-waarden is die kans zo klein dat ze als verwaarloosbaar wordt beschouwd. U zou astronomische aantallen moeten genereren voordat een botsing waarschijnlijk wordt.
Waarom een UUID gebruiken in plaats van een auto-increment getal?
UUID's kunnen onafhankelijk door elke service worden aangemaakt zonder een gedeelde teller, ze onthullen geen aantallen of volgorde van records, en ze maken het samenvoegen van data uit veel bronnen moeiteloos. Auto-increment ID's zijn kleiner maar worden een knelpunt en lekken informatie op schaal.
Worden de UUID's op een server gegenereerd?
Nee. Deze tool draait volledig in uw browser, zodat de willekeurige waarden lokaal worden geproduceerd en nooit worden verzonden. Dat maakt het veilig voor gebruik als sleutels en tokens die u privé wilt houden.
Wat betekent het koppeltekenspatroon?
De 8-4-4-4-12-groepering is slechts een leesbaarheidsconventie. De koppeltekens bevatten geen data; ze verdelen de 32 hex-cijfers in blokken zodat mensen waarden makkelijker kunnen scannen en vergelijken.
