Utilia

UUID generator

Besplatan UUID generator za verzije 4 i 7. Napravi do 1 000 UUID-ova odjednom, velikim slovima ili bez crtica, pa ih kopiraj ili preuzmi kao .txt.

Verzija

Kako koristiti UUID generator

  1. Odaberi verziju UUID-a: v4 za potpuno nasumične identifikatore ili v7 za identifikatore poredane po vremenu.
  2. Unesi koliko UUID-ova trebaš, od 1 do 1 000.
  3. Po želji uključi izlaz velikim slovima ili ukloni crtice ako sistem u koji ih unosiš očekuje kompaktan oblik od 32 znaka.
  4. Generiši, pa kopiraj listu u clipboard ili je preuzmi kao datoteku .txt s jednim UUID-om po redu.

Šta je UUID?

UUID (Universally Unique Identifier), u Microsoftovom svijetu poznat i kao GUID, je 128-bitna vrijednost koja služi za identifikaciju bez potrebe za centralnim tijelom koje dodjeljuje brojeve. Obično se piše kao 32 heksadecimalne cifre u pet grupa odvojenih crticama, u obliku 8-4-4-4-12, na primjer 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 bilo koji računar može samostalno napraviti UUID uz zanemarivu šansu za koliziju, UUID-ovi se široko koriste kao primarni ključevi baza podataka, ID-ovi zahtjeva i korelacije u logovima, nazivi datoteka za slanje, ključevi idempotentnosti za API-je i identifikatori u distribuiranim sistemima u kojima više servera istovremeno pravi zapise.

Verzija 4 naspram verzije 7

Obje verzije definisane su u RFC-u 9562, standardu iz 2024. godine koji je zamijenio RFC 4122.

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

UUID v7 počinje 48-bitnom Unix vremenskom oznakom u milisekundama, nakon koje slijede verzija, varijanta i 74 nasumična bita. Zbog toga se v7 UUID-ovi generisani kasnije sortiraju iza onih generisanih ranije. To je veoma važno za baze podataka: nasumični v4 ključevi ubacuju se na razbacane pozicije u B-stablu indeksa, što uzrokuje cijepanje stranica i lošu lokalnost keša, dok se v7 ključevi dodaju blizu kraja, slično cjelobrojnom autoinkrementu. Odaberi v7 za primarne ključeve i sve što želiš sortirati po vremenu nastanka. Imaj na umu da se vrijeme nastanka može pročitati iz v7 UUID-a, pa ga izbjegavaj kada je ta informacija o vremenu osjetljiva.

Slučajnost i sigurnost

Ovaj alat koristi kriptografski siguran generator slučajnih brojeva preglednika (Web Crypto API), a ne Math.random(), koji nije namijenjen nepredvidivosti. UUID-ovi se generišu lokalno na tvom uređaju i nikada se ne šalju serveru niti bilježe, pa vrijednosti koje napraviš nikada ne vidi niko drugi.

Ipak, UUID je identifikator, a ne tajna. Nemoj se oslanjati samo na nepogodiv UUID da zaštitiš privatni dokument ili link za resetovanje lozinke; kombinuj ga s pravilnom autentifikacijom i rokom važenja.

Opcije formatiranja

Kanonski oblik je s malim slovima i crticama, a RFC 9562 preporučuje izlaz malim slovima. Neki sistemi, poput starijih Windows alata ili određenih baza, prikazuju GUID-ove velikim slovima, a neki formati pohrane preferiraju oblik od 32 znaka bez crtica. Obje opcije mijenjaju samo tekstualni prikaz; temeljna 128-bitna vrijednost je identična, a većina parsera prihvata sve ove oblike.

Česta pitanja

Jesu li UUID-ovi zagarantovano jedinstveni?

Nije striktno zagarantovano, ali je vjerovatnoća kolizije uz pravilno generisane nasumične bite toliko niska da se u praksi može zanemariti. Pravi rizici dolaze od pokvarenih generatora slučajnih brojeva ili ručnog kopiranja vrijednosti, a ne od samog formata.

Trebam li koristiti UUID v4 ili v7 kao primarni ključ baze podataka?

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

Je li GUID isto što i UUID?

Jeste. GUID je naziv koji Microsoft koristi za isti 128-bitni format. GUID iz .NET-a ili SQL Servera zamjenjiv je s UUID-om s drugih platformi.

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

Dijele isti prefiks vremenske oznake, ali preostalih 74 nasumična bita čine sudar izuzetno malo vjerovatnim. Unutar iste milisekunde njihov međusobni redoslijed ne mora odgovarati tačnom redoslijedu nastanka.

Zašto su crtice opcionalne?

Crtice služe samo čitljivosti. Njihovim uklanjanjem nastaje heksadecimalni string od 32 znaka koji predstavlja potpuno istu vrijednost, što neki API-ji i formati pohrane preferiraju.