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ó | Alapja | Példa |
|---|---|---|
| v1 | Gergely-naptári időbélyeg + csomópont (MAC) azonosító | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Névtér + név MD5 hash-e | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 véletlen bit | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Névtér + név SHA-1 hash-e | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Átrendezett v1 időbélyeg, így az azonosítók idő szerint rendezhetők | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Unix-ezredmásodpercek + véletlen bitek, rendezhető | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Az alkalmazás által meghatározott egyéni felépítés | 2489e9ad-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.