Kaj je to orodje?
UUID (univerzalno enolični identifikator) je 128-bitni identifikator, zapisan kot 36 znakov, na primer 550e8400-e29b-41d4-a716-446655440000. UUID-ji različice 4 so generirani iz naključnih podatkov, zaradi česar so trki tako malo verjetni, da jih v praksi lahko zanemarimo: generiral bi lahko milijardo UUID-jev na sekundo desetletja, preden bi dvojnik postal verjeten.
UUID-ji se uporabljajo kot primarni ključi baz podatkov, ID-ji zahtevkov za sledenje, imena datotek, API ključi in povsod, kjer potrebuješ identifikator brez usklajevanja s centralnim organom.
UUID-ji so standardizirani v RFC 4122, revidiranem leta 2024 kot RFC 9562 — revizija je ohranila v4 nespremenjen in dodala UUIDv7, časovno urejeno različico, zasnovano za boljše indeksiranje kot ključ baze podatkov.
Zakaj ga uporabiti?
- Kriptografsko varno: uporablja crypto.randomUUID(), ne šibek Math.random().
- Množično generiranje — do 500 UUID-jev naenkrat, po eden na vrstico, pripravljeno za lepljenje.
- Možnosti za velike črke in brez vezajev za sisteme s posebnimi zahtevami glede oblike.
- Teče brez povezave v tvojem brskalniku; UUID-ji se nikoli nikamor ne pošiljajo.
- Brezplačno in takojšnje, brez prijave.
Kako ga uporabljati
- Izberi, koliko UUID-jev potrebuješ (1–500).
- Neobvezno obkljukaj "Velike črke" ali "Odstrani vezaje".
- Klikni "Ustvari UUID-je".
- Klikni "Kopiraj vse", da kopiraš celoten seznam.
Primer
Vnos
Število: 3Rezultat
f47ac10b-58cc-4372-a567-0e02b2c3d479
9c858901-8a57-4791-81fe-4c455b099bc9
16fd2706-8baf-433b-82eb-8c7fada847daVsak UUID je generiran neodvisno iz varnih naključnih podatkov.
Pogosti primeri uporabe
- Primarni ključi baze podatkov: UUID-ji omogočajo generiranje veljavnega ID-ja pred vstavljanjem, koristno za aplikacije brez povezave ali kadar mora odjemalec sklicevati zapis, preden strežnik potrdi.
- Porazdeljeni sistemi: več strežnikov lahko generira ID-je neodvisno brez usklajevanja in brez tveganja trka — za razliko od samodejno naraščajočih celih števil, ki potrebujejo en sam vir resnice.
- Ključi idempotence: pošiljanje istega UUID-ja s ponovljeno zahtevo API-ja strežniku omogoči, da prepozna in varno prezre podvojeno oddajo.
- Testni podatki: množično generiraj stotine enoličnih ID-jev naenkrat za polnjenje testne baze podatkov ali navideznih odgovorov API-ja.
- React/Vue ključi seznama: kadar elementi seznama še nimajo naravnega enoličnega ID-ja, generiran UUID deluje kot stabilen ključ med razvojem.
Omejitve, ki jih velja poznati
UUID-jev ni mogoče razvrščati po času nastanka — naključnost v4 pomeni, da se novi ID-ji ne razvrstijo blizu drug drugega v indeksu baze podatkov, kar lahko pri velikem obsegu poškoduje zmogljivost vstavljanja (zato obstaja UUID v7, časovno urejen, kot alternativa). Če potrebuješ časovno urejenost skupaj z enoličnostjo, je v7 ali ID v slogu Snowflake boljša izbira kot v4.
UUID sam po sebi ni varnostno poverilo. Ni ga mogoče uganiti v smislu, da bi lahko iz enega napovedal drugega, vendar nikoli ni bil zasnovan z zmožnostmi revizije, poteka veljavnosti ali preklica, ki jih potrebuje pravi žeton za avtentikacijo — za to uporabi namensko knjižnico sejnih/API žetonov.
Kako naključnost dejansko deluje
UUID v4 ima 122 bitov, ki so resnično naključni (preostalih 6 bitov je fiksnih, da označujejo različico in variant, po specifikaciji RFC 4122). To orodje pridobi to naključnost iz crypto.getRandomValues() prek Web Crypto API brskalnika — istega temeljnega vira, ki se uporablja za TLS ključe in druge kriptografske operacije, ne veliko šibkejšega Math.random(), ki je dovolj predvidljiv, da so nekatere starejše knjižnice UUID, zgrajene na njem, kritizirali zaradi generiranja ugotovljivih ID-jev.
Za konkreten prikaz verjetnosti trka: pri 122 naključnih bitih bi moral generirati približno 2,71 trilijona UUID-jev, preden bi obstajala 50-odstotna verjetnost vsaj enega trka — za več velikostnih razredov več, kot jih bo katera koli posamezna aplikacija kdaj ustvarila. Zato UUID v4 v praksi obravnavamo kot praktično brez trkov, čeprav to matematično ni nemogoče.
Pogosta vprašanja
Ali se lahko dva generirana UUID-ja trčita?
Teoretično da, praktično ne. UUID v4 ima 122 naključnih bitov. Verjetnost trka ostane zanemarljiva tudi po generiranju bilijonov — varno jih je obravnavati kot enolične.
Kakšna je razlika med različicami UUID?
v1 temelji na časovnem žigu + MAC naslovu (razkriva informacije), v4 je popolnoma naključen (najpogostejša izbira), v5 je izpeljan iz imena prek zgoščevanja (determinističen), v7 pa je časovno urejen naključen (dober za indekse baz podatkov). To orodje generira v4.
Ali so ti UUID-ji dovolj varni za žetone?
Uporabljajo kriptografsko varen vir naključnosti, kar je veliko boljše od Math.random(). Za sejne žetone so še vedno prednostni namenski generatorji žetonov z večjo entropijo, vendar so UUID-ji v4 povsem primerni za identifikatorje.
Ali je UUID isto kot GUID?
Da. GUID (globalno enolični identifikator) je Microsoftovo ime za isto 128-bitno obliko. Izraza sta zamenljiva.
Ali se generirani UUID-ji shranjujejo ali beležijo?
Ne. Generiranje poteka lokalno v tvojem brskalniku. Nič se ne pošilja, shranjuje ali beleži — vsak UUID, ki ga vidiš, obstaja samo na tvojem zaslonu.