Utilia

UUID generator

Besplatan UUID generator za UUID verzije 4 i 7. Napravi do 1.000 odjednom, velikim slovima ili bez crtica, pa kopiraj ili preuzmi kao .txt.

Verzija

Kako se koristi UUID generator

  1. Izaberi verziju UUID-a: v4 za potpuno nasumične identifikatore ili v7 za identifikatore poređane po vremenu.
  2. Unesi koliko UUID-ova ti treba, od 1 do 1.000.
  3. Po želji uključi izlaz sa velikim slovima ili ukloni crtice ako sistem u koji ih ubacuješ očekuje kompaktan oblik od 32 znaka.
  4. Generiši, pa kopiraj listu u klipbord ili je preuzmi kao .txt fajl sa po jednim UUID-om u redu.

Šta je UUID?

UUID (Universally Unique Identifier), poznat u Microsoft svetu i kao GUID, je 128-bitna vrednost kojom se nešto identifikuje bez potrebe za centralnim organom koji deli brojeve. Obično se piše kao 32 heksadecimalne cifre u pet grupa razdvojenih crticama, u obrascu 8-4-4-4-12, na primer f47ac10b-58cc-4372-a567-0e02b2c3d479. Prva cifra treće grupe je verzija, a prva cifra četvrte grupe kodira varijantu (8, 9, a ili b za standardne UUID-ove).

Pošto svaki računar može nezavisno da napravi UUID sa zanemarljivom šansom za koliziju, UUID-ovi se široko koriste kao primarni ključevi baza podataka, ID-jevi zahteva i korelacije u logovima, imena fajlova za otpremanje, ključevi idempotentnosti za API-je i identifikatori u distribuiranim sistemima gde više servera istovremeno pravi zapise.

Verzija 4 ili verzija 7

Obe verzije definisane su u RFC 9562, standardu iz 2024. koji je zamenio RFC 4122.

UUID v4 je gotovo potpuno nasumičan: 122 od njegovih 128 bitova dolazi iz generatora slučajnih brojeva, a preostalih 6 bitova nosi verziju i varijantu. Ne otkriva ništa o tome kada ili gde je napravljen. Šansa za koliziju je toliko mala da bi trebalo generisati otprilike 103 biliona v4 UUID-ova da se dostigne verovatnoća jedan prema milijardu za jedan duplikat. Izaberi v4 kada želiš neprozirne identifikatore koji ne nose nikakvu informaciju.

UUID v7 počinje 48-bitnom Unix vremenskom oznakom u milisekundama, iza koje slede verzija, varijanta i 74 nasumična bita. Zbog toga se v7 UUID-ovi generisani kasnije sortiraju posle onih generisanih ranije. To je veoma važno za baze podataka: nasumični v4 ključevi umeću se na razbacana mesta u B-stablu indeksa, što izaziva deljenje stranica i lošu lokalnost keša, dok se v7 ključevi dodaju blizu kraja, slično celom broju sa automatskim uvećanjem. Izaberi v7 za primarne ključeve i sve što želiš da sortiraš po vremenu nastanka. Imaj na umu da se vreme nastanka može pročitati iz v7 UUID-a, pa ga izbegavaj kada je ta informacija o vremenu osetljiva.

Slučajnost i bezbednost

Ovaj alat koristi kriptografski bezbedan generator slučajnih brojeva pregledača (Web Crypto API), a ne Math.random(), koji nije projektovan da bude nepredvidiv. UUID-ovi se generišu lokalno na tvom uređaju i server ih nikada ne prima niti beleži, pa vrednosti koje napraviš nikada niko drugi ne vidi.

Ipak, UUID je identifikator, a ne tajna. Ne oslanjaj se samo na UUID koji se ne može pogoditi da zaštitiš privatan dokument ili vezu za resetovanje lozinke; kombinuj ga sa pravom autentifikacijom i rokom važenja.

Opcije formatiranja

Kanonski oblik je sa malim slovima i crticama, a RFC 9562 preporučuje izlaz malim slovima. Neki sistemi, kao stariji Windows alati ili određene baze, prikazuju GUID-ove velikim slovima, a neki formati skladištenja više vole oblik od 32 znaka bez crtica. Obe opcije menjaju samo tekstualni prikaz; 128-bitna vrednost je ista, a većina parsera prihvata sve te oblike.

Česta pitanja

Da li je jedinstvenost UUID-ova zagarantovana?

Nije strogo zagarantovana, ali je verovatnoća kolizije sa ispravno generisanim nasumičnim bitovima toliko niska da se u praksi može zanemariti. Pravi rizici potiču od pokvarenih generatora slučajnih brojeva ili ručnog kopiranja vrednosti, a ne od formata.

Treba li da koristim UUID v4 ili v7 kao primarni ključ baze?

Za većinu novih projekata v7 je bolji izbor: indeksi ostaju kompaktni, a umetanje brzo jer vrednosti stižu otprilike rastućim redom. Koristi v4 ako ne želiš da se vreme nastanka vidi u identifikatoru.

Da li je GUID isto što i UUID?

Da. GUID je ime koje Microsoft koristi za isti 128-bitni format. GUID iz .NET-a ili SQL Server-a zamenljiv je sa UUID-om sa drugih platformi.

Mogu li se dva v7 UUID-a napravljena u istoj milisekundi sudariti?

Dele isti prefiks vremenske oznake, ali preostala 74 nasumična bita čine sudar izuzetno malo verovatnim. Unutar iste milisekunde, njihov međusobni redosled nije zagarantovano jednak tačnom redosledu nastanka.

Zašto su crtice opcione?

Crtice služe samo čitljivosti. Njihovo uklanjanje daje heksadecimalni string od 32 znaka koji predstavlja tačno istu vrednost, što neki API-ji i formati skladištenja preferiraju.