raatools/

UUID-generator

Genereer willekeurige v4-UUIDs โ€” een of meer.

1

Wat is een UUID-generator?

Een UUID-generator maakt universeel unieke identifiers โ€” 128-bit getallen die wereldwijd uniek zijn zonder centrale coรถrdinatie. UUIDs worden gebruikt als primaire sleutels, sessie-IDs en tracking-tokens.

UUID staat voor Universally Unique Identifier (RFC 4122). Het formaat is 8-4-4-4-12 hexadecimale tekens: 550e8400-e29b-41d4-a716-446655440000. Er bestaan meerdere versies met verschillende generatiemethoden.

UUID versie 4

V4 UUIDs zijn willekeurig gegenereerd: 122 van de 128 bits zijn random (6 bits voor versie- en variantmarkering). De kans op een duplicaat: 1 op 2^122 = 5,3 * 10^36. U kunt miljarden UUIDs per seconde genereren gedurende millennia voordat een botsing statistisch waarschijnlijk wordt.

Hoe gebruikt u deze tool?

Klik op genereren voor een nieuwe UUID. Kies het formaat (met/zonder streepjes, hoofdletters) en de versie. Genereer enkele of meerdere UUIDs tegelijk. Kopieer naar het klembord.

Toepassingen

  • Database primaire sleutels: voorkom sequentiรซle IDs die privacy-informatie lekken (gebruiker #3 na #2).
  • Gedistribueerde systemen: meerdere servers genereren IDs onafhankelijk zonder conflicten.
  • API-idempotency keys: voorkom dubbele verwerking van requests.
  • Bestandsnamen: unieke namen voor uploads voorkomen overschrijving.
  • Sessie tokens en CSRF tokens: onvoorspelbare identifiers voor beveiliging.

Botsingskans

Bij 1 miljard UUIDs per seconde gedurende 86 jaar: 50% kans op een botsing. Bij 103 biljoen V4 UUIDs: 1 op een miljard kans op een duplicaat. Ter vergelijking: de kans om door bliksem geraakt te worden is circa 1 op 500.000 per jaar โ€” veel waarschijnlijker.

Nil UUID

De nil UUID (00000000-0000-0000-0000-000000000000) is een speciale waarde die 'geen UUID' betekent. Gebruik het als default/placeholder in plaats van null. De max UUID (ffffffff-ffff-ffff-ffff-ffffffffffff) is gedefinieerd in RFC 9562.

UUID-versies

V1: tijdstempel + MAC-adres (lekt hardware-info). V3: MD5-hash van namespace + naam. V4: random (meest gebruikt). V5: SHA-1-hash van namespace + naam. V6: geordende tijdstempel (RFC 9562). V7: Unix-timestamp + random (nieuw, database-vriendelijk โ€” sorteerbaar op tijd).

Beveiligingsoverwegingen

UUIDs zijn uniek, niet geheim. Gebruik ze niet als wachtwoorden of autorisatietokens zonder aanvullende beveiliging. V1 UUIDs lekken het MAC-adres en de aanmaaktijd. V4 UUIDs zijn onvoorspelbaar maar niet cryptografisch veilig in alle implementaties. Voor beveiligingsgevoelige toepassingen: gebruik crypto.randomUUID() of een CSPRNG.

Veelgestelde vragen

Zijn UUIDs geschikt als database primaire sleutels?

Ja, met kanttekeningen. Voordelen: geen centrale sequentie nodig, werkt in gedistribueerde systemen. Nadelen: 16 bytes vs 4-8 bytes voor integers, slechte B-tree prestaties bij V4 (random insertie). Oplossing: gebruik V7 (tijdgebaseerd, sorteerbaar) of ULID voor betere database-prestaties.

Wat is het verschil tussen UUID en ULID?

ULID (Universally Unique Lexicographically Sortable Identifier): 48-bit timestamp + 80-bit random. Crockford Base32-gecodeerd (26 tekens, geen streepjes). Sorteerbaar op aanmaaktijd. Compatibel met UUID-opslag (128 bit). Voordelen: beter leesbaar, sorteerbaar, betere database-indexen.