UUID-generator

Genereer UUID's van versie 4 of versie 7 in je browser, één tegelijk of honderd in één keer.

Draait volledig in je browser. Er wordt niets geüpload, gelogd of opgeslagen.

Versie

Een UUID is een identificatie van 128 bits die je overal kunt genereren, zonder een centrale instantie te raadplegen, en die toch naar verwachting uniek is. Er worden hier twee versies aangeboden, omdat ze verschillende problemen oplossen.

Hoe het werkt

Versie 4 bestaat uit 122 willekeurige bits, met zes vaste bits die versie en variant aangeven. Hij bevat geen informatie, precies wat je wilt in een publieke identificatie en precies wat hem een slechte geclusterde primaire sleutel maakt: opeenvolgende inserts komen op willekeurige plekken in de index terecht.

Versie 7, gestandaardiseerd in RFC 9562, zet een tijdstempel van 48 bits in milliseconden vóór 74 willekeurige bits. Later gegenereerde waarden worden na eerder gegenereerde gesorteerd, dus inserts blijven aan het eind van de index en zoekopdrachten op tijdsbereik werken. Het nadeel: de identificatie verraadt wanneer hij is aangemaakt.

De willekeurige bits komen uit de cryptografische randomgenerator van je browser, dezelfde bron die voor sleutels wordt gebruikt, en niet uit Math.random.

Veelgestelde vragen

Moet ik v4 of v7 gebruiken?

v7 voor een primaire sleutel in een database, waar de volgorde de index gezond houdt. v4 als de identificatie zichtbaar is en geen aanmaakdatum mag prijsgeven, of als je uit de volgorde zou kunnen afleiden hoeveel records je per uur aanmaakt.

Kunnen twee UUID's botsen?

In theorie wel, in de praktijk niet met v4: met 122 willekeurige bits zou je een eeuw lang miljarden per seconde moeten genereren voordat een botsing waarschijnlijk wordt. Het echte risico is een zwakke bron van willekeur, en daarom wordt hier de cryptografische gebruikt.

En v1?

Versie 1 bevat het MAC-adres van de machine die hem genereerde, en geeft zo de identiteit van de hardware prijs. v7 geeft je dezelfde ordening in de tijd zonder dat, en is de moderne opvolger.

Goed om te weten

  • De waarden worden in je browser gegenereerd en nooit ergens naartoe gestuurd.
  • Deze tool is niet deterministisch: de pagina herladen geeft nieuwe identificaties, en daar gaat het juist om.

Bronnen

Alle tools in Code