UltKit

UUID generátor

Hozzon létre véletlen, 4-es verziójú UUID-ket, egyszerre egytől százig, és másolja ki őket listaként. Az azonosítókat a böngésző kriptográfiailag biztonságos véletlenszám-generátora állítja elő, az ellenőrző pedig megmutatja bármely beillesztett UUID verzióját és változatát.

0 karakter · 0 szó · 0 sor

Teljes egészében ebben a böngészőlapon fut. A szöveget soha nem töltjük fel és nem tároljuk.

UUID-verziók

A verzió a harmadik csoport első számjegye; a variánst a negyedik csoport első számjegye kódolja (RFC-s UUID-knál 8, 9, a vagy b). A példák az RFC 9562 tesztvektorai.

VerzióAlapjaPélda
v1Gergely-naptári időbélyeg + csomópont (MAC) azonosítóc232ab00-9414-11ec-b3c8-9f6bdeced846
v3Névtér + név MD5 hash-e5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 véletlen bit919108f7-52d1-4320-9bac-f847db4148a8
v5Névtér + név SHA-1 hash-e2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Átrendezett v1 időbélyeg, így az azonosítók idő szerint rendezhetők1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Unix-ezredmásodpercek + véletlen bitek, rendezhető017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Az alkalmazás által meghatározott egyéni felépítés2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

Mi az a UUID, és hogyan kell értelmezni?

Az UUID (universally unique identifier, a Microsoft szoftvereiben GUID) egy 128 bites szám, amelyet 32 hexadecimális számjegyként, 8-4-4-4-12 csoportosításban írunk le, például f47ac10b-58cc-4372-a567-0e02b2c3d479. Az RFC 4122 szabványosította 2005-ben; 2024 májusában az RFC 9562 váltotta le, amely megtartja a régi verziókat, és három újat ad hozzá. Két pozíció rögzített: a harmadik csoport első számjegye a verzió (a 4372-ben a 4), a negyedik csoport első számjegye pedig a variánst jelzi, amely az RFC-t követő minden UUID-nál 8, 9, a vagy b.

A 4-es verzió a többi 122 bitet véletlen adattal tölti ki. Ez a tér olyan nagy, hogy körülbelül 2,7 trillió (2,7 × 10¹⁸) UUID-t kellene generálni ahhoz, hogy 50% eséllyel előforduljon egyetlen ismétlődés, ezért a rendszerek egyeztetés nélkül, egymástól függetlenül, több gépen hozhatnak létre v4 azonosítókat. Ez az oldal a crypto.randomUUID függvényt használja, ennek hiányában a crypto.getRandomValues függvényt, a Math.random függvényt soha, mert annak kimenetét nem megjósolhatatlanra tervezték. Az Nagybetűs és a Kötőjelek nélkül beállítás csak a formázást módosítja; az érték ugyanaz, és a legtöbb értelmező mindkét írásmódot elfogadja.

A v4, a v7 és a többi verzió

Az 1-es és a 6-os verzió időbélyegből és csomópont-azonosítóból épül fel, ez eredetileg a számítógép MAC-címe volt, ami elárulja, hol és mikor készült az azonosító. A 3-as és az 5-ös verzió egy névteret és egy nevet hash-el MD5-tel vagy SHA-1-gyel, így ugyanaz a bemenet mindig ugyanazt az UUID-t adja. A 8-as verzió szabad felépítést kínál egyedi megoldásokhoz. A legfontosabb újdonság a 7-es verzió: egy 48 bites, ezredmásodperces Unix-időbélyeggel kezdődik, a többit véletlen bitek töltik ki, így az azonosítók létrehozási idő szerint rendezhetők.

Ez a rendezettség az oka annak, hogy adatbázis-elsődleges kulcsnál érdemes a v7-et fontolóra venni. A véletlen v4 kulcsok szétszóródnak a B-fa indexben, oldalakat hasítanak, és a tábla növekedésével rontják a gyorsítótár-lokalitást, a v7 kulcsok viszont nagyjából növekvő sorrendben érkeznek, mint egy automatikusan növekvő oszlop, mégis előállíthatók központi számláló nélkül. Válassza a v4-et, ha olyan azonosítót szeretne, amely semmit sem árul el, a létrehozás idejét sem; válassza a v7-et, ha a beszúrási teljesítmény és az időrendi sorrend számít. Az UUID azonosító, nem titok: jelszavakhoz és API-titkokhoz használjon erre szolgáló jelszógenerátort. További kódolókat és vizsgálókat a fejlesztői eszközök között talál.

Gyakori kérdések

Lehet-e valaha két véletlenszerűen generált UUID azonos?
Elméletben igen, a gyakorlatban nem. 122 véletlen bit mellett még másodpercenként egymilliárd v4 UUID körülbelül 86 éven át is csak nagyjából 50% esélyt adna egyetlen ütközésre, feltéve, hogy a véletlenforrás megbízható.
Mi a különbség a UUID és a GUID között?
Lényegében semmi. A GUID a Microsoft neve ugyanarra a 128 bites azonosítóra. Néhány Microsoft-eszköz nagybetűvel vagy kapcsos zárójelek között jeleníti meg a GUID-okat, ezt az itteni ellenőrző elfogadja.
Honnan tudhatom, hogy egy UUID melyik verziójú?
Nézze meg a harmadik csoport első számjegyét: a 4 véletlent, a 7 időrendbe rendezettet, az 1 időbélyeget és csomópontot jelent. Illessze be az UUID ellenőrzése eszközbe, hogy lássa a verziót és a variánst.
Érdemes UUIDv7-et használni v4 helyett adatbázis-kulcsként?
Gyakran igen. A v7 kulcsok időrendben követik egymást, ami kompakt B-fa indexeket és gyors beszúrást eredményez. Maradjon a v4-nél, ha a v7 azonosítóba ágyazott létrehozási időnek privátnak kell maradnia.
Biztonságos-e UUID-t használni jelszó-visszaállító tokenként?
A biztonságos generátorból származó v4 UUID 122 véletlen bitet tartalmaz, ami elég ahhoz, hogy kitalálhatatlan legyen, de sok könyvtár kifejezetten erre szolgáló tokenfüggvényt kínál, megadott lejárattal. Időalapú verziókat, például v1-et vagy v7-et soha ne használjon titokként.