UUID-generator

Volgende

UUID’s bieden u wereldwijd unieke identificatoren zonder afhankelijkheid van een centrale autoriteit. Deze generator genereert waarden die voldoen aan RFC 4122: versie 1 (tijdstempel + MAC), versie 4 (willekeurig) en versie 7 (met tijdstempelprefix en sorteerbaar). Kies een versie, vraag er 1 of 1000 op en kopieer de lijst naar uw startgegevens, het genereren van API-sleutels of uw unittests.

Hoe je UUID's genereert

  1. 1

    Kies een versie

    v4 voor algemeen willekeurig gebruik, v7 wanneer de sorteervolgorde belangrijk is, v1 wanneer u tijdstempelinformatie nodig hebt.

  2. 2

    Kiezen van het aantal

    Een UUID of een batch van maximaal 10.000 per uitvoering.

  3. 3

    Genereren

    De waarden maken gebruik van de crypto-API van de browser voor cryptografische willekeurigheid.

  4. 4

    Kopieer of download

    Laad als lijst met nieuwe regels, JSON-array of CSV.

Welke UUID-versie moet u gebruiken?

Versie Structuur Beste voor
v1 Tijdstempel + klok + MAC-adres Log-ID’s waarbij chronologie vereist is
v4 122 bits willekeur Algemene unieke ID’s, testfixtures
v7 Unix-tijdstempel ms + willekeurig (sorteerbaar) Primaire sleutels in databases

Waarom v7 de standaard wordt

v4 is willekeurig, waardoor het een slechte primaire sleutel voor een database is: invoegingen verspreiden zich over de B-boom en verlagen de schrijfsnelheid. v7 (afgerond in RFC 9562 in 2024) voegt een 48-bits millisecondentijdstempel toe aan het begin van de UUID, zodat nieuwe rijen aan het einde van de index belanden. U behoudt uniekheid en hebt geen coördinatie nodig, plus een grove sorteervolgorde op basis van aanmaaktijd.

Regels voor het formaat

Een UUID bestaat uit 128 bits, weergegeven als 32 hexadecimale cijfers volgens het patroon 8-4-4-4-12:

018f5b9c-7d4a-7a1b-8c0e-2e1b3c4d5e6f
         ^^                ^
         versie-nibble     variantbits
  • De versie-nibble is het 13e teken (na 018f5b9c-7d4a-). Die is 4 voor v4, 7 voor v7, enzovoort.
  • De variantbits zijn de eerste twee bits van het 17e teken. Voor RFC 4122-UUID’s zijn ze 10 (hoge nibble 8/9/a/b).

Botsingskans

Voor v4 is de kans op het genereren van een duplicaat verwaarloosbaar klein: u zou 2,7 triljoen (2,7 × 10¹⁸) UUID’s moeten genereren voordat u 50% kans op een botsing bereikt. Dat is meer dan de meeste databases ooit zullen zien. v7 deelt het willekeurige staartdeel, waardoor de botsingskans binnen dezelfde milliseconde gelijk is.

Veelgestelde vragen

Historisch gezien ja, omdat ze het MAC-adres van de genererende host bevatten. Moderne generatoren (inclusief deze) gebruiken een willekeurige 48-bits knooppunt-ID; v1 onthult daarom geen hardware meer.

Wanneer v4 wordt gegenereerd met een CSPRNG (zoals gebruikt door dit hulpmiddel via crypto.getRandomValues), is het onvoorspelbaar genoeg om als sessietoken te worden ingezet. UUID’s zijn echter niet per se geheimen; als u een geheim nodig hebt, noem het gewoon zo.

Ja, ze zijn URL-veilig (alleen hexadecimaal en koppeltekens). Voor een kortere weergave kunt u de ruwe 128 bits coderen met base-32 of base-62, of een ULID gebruiken; die telt 26 tekens en is net als v7 sorteerbaar.

Nee. De generatie vindt plaats in uw browser en de waarden bereiken nooit een server.

Gerelateerde tools

Tool beschikbaar in andere talen