Utilia

UUID-generátor

Ingyenes UUID-generátor v4 és v7 verzióhoz. Akár 1000 darabot is létrehozhatsz egyszerre, nagybetűsen vagy kötőjel nélkül, majd másold ki vagy töltsd le.

Verzió

Hogyan használd az UUID-generátort

  1. Válaszd ki az UUID verzióját: v4 a teljesen véletlen azonosítókhoz, v7 az időrendbe rendezett azonosítókhoz.
  2. Add meg, hány UUID-re van szükséged, 1 és 1000 között.
  3. Ha kell, kapcsold be a Nagybetűs kimenetet, vagy vedd ki a Kötőjelek jelölést, ha a rendszer, amelynek az értékeket szánod, a tömör, 32 karakteres alakot várja.
  4. Generálj, majd másold a listát a vágólapra, vagy töltsd le .txt fájlként, soronként egy UUID-vel.

Mi az az UUID?

Az UUID (Universally Unique Identifier), a Microsoft világában GUID néven is ismert, egy 128 bites érték, amellyel valamit azonosítani lehet anélkül, hogy központi hatóságnak kellene számokat kiosztania. Általában 32 hexadecimális számjegyként írják, öt, kötőjellel elválasztott csoportban, a 8-4-4-4-12 mintában, például f47ac10b-58cc-4372-a567-0e02b2c3d479. A harmadik csoport első számjegye a verzió, a negyedik csoport első számjegye pedig a variánst kódolja (a szabványos UUID-knál 8, 9, a vagy b).

Mivel bármelyik számítógép önállóan létrehozhat UUID-t elhanyagolható ütközési eséllyel, az UUID-ket széles körben használják adatbázisok elsődleges kulcsaként, naplókban kérés- és korrelációs azonosítóként, feltöltött fájlok nevében, API-k idempotenciakulcsaként, és olyan elosztott rendszerek azonosítóiként, ahol több szerver egyszerre hoz létre rekordokat.

A 4-es és a 7-es verzió

Mindkét verziót az RFC 9562 határozza meg, a 2024-es szabvány, amely az RFC 4122 helyébe lépett.

Az UUID v4 majdnem teljesen véletlen: a 128 bitjéből 122 véletlengenerátorból származik, a megmaradó 6 bit a verziót és a variánst tartalmazza. Semmit nem árul el arról, mikor vagy hol jött létre. Az ütközés esélye olyan csekély, hogy nagyjából 103 billió v4 UUID-t kellene generálnod ahhoz, hogy egyetlen duplikátum valószínűsége egy a milliárdhoz legyen. Akkor válaszd a v4-et, ha átlátszatlan, információt nem hordozó azonosítókat szeretnél.

Az UUID v7 egy 48 bites, ezredmásodperces Unix-időbélyeggel kezdődik, amelyet a verzió, a variáns és 74 véletlen bit követ. Ennek eredményeként a később generált v7 UUID-k a korábban generáltak után rendeződnek. Ez az adatbázisoknál sokat számít: a véletlen v4 kulcsok szétszórt helyekre kerülnek a B-fa indexben, ami oldalfelhasadást és gyenge gyorsítótár-lokalitást okoz, míg a v7 kulcsok a vég közelében fűződnek hozzá, nagyjából mint egy automatikusan növekvő egész szám. Akkor válaszd a v7-et, ha elsődleges kulcsokra és bármi másra van szükséged, amit létrehozási idő szerint rendeznél. Ne feledd, hogy a v7 UUID-ből kiolvasható a létrehozás ideje, ezért kerüld, ha ez az időzítési információ érzékeny.

Véletlenszerűség és biztonság

Az eszköz a böngésző kriptográfiailag biztonságos véletlenszám-generátorát (Web Crypto API) használja, nem a Math.random() függvényt, amelyet nem arra terveztek, hogy kiszámíthatatlan legyen. Az UUID-k helyben, az eszközödön generálódnak, és soha nem kerülnek elküldésre vagy naplózásra egy szerveren, így senki más nem látja a létrehozott értékeket.

Ennek ellenére az UUID azonosító, nem titok. Ne támaszkodj egyedül egy kitalálhatatlan UUID-re egy privát dokumentum vagy egy jelszó-visszaállító hivatkozás védelménél; kombináld megfelelő hitelesítéssel és lejárattal.

Gyakori kérdések

Garantáltan egyediek az UUID-k?

Szigorúan nem garantált, de a megfelelően generált véletlen bitekkel az ütközés valószínűsége olyan alacsony, hogy a gyakorlatban figyelmen kívül hagyható. A valódi kockázat a hibás véletlengenerátorokból vagy az értékek kézi másolásából ered, nem a formátumból.

Az UUID v4-et vagy a v7-et használjam adatbázis elsődleges kulcsaként?

A legtöbb új projekthez a v7 a jobb választás: tömören tartja az indexeket, és gyors a beszúrás, mert az értékek nagyjából növekvő sorrendben érkeznek. Használd a v4-et, ha nem szeretnéd, hogy a létrehozás ideje látszódjon az azonosítóban.

A GUID ugyanaz, mint az UUID?

Igen. A GUID a Microsoft neve ugyanarra a 128 bites formátumra. Egy .NET-es vagy SQL Server-es GUID felcserélhető más platformok UUID-jével.

Ütközhet két, ugyanabban az ezredmásodpercben létrehozott v7 UUID?

Ugyanaz az időbélyeg-előtagjuk, de a megmaradó 74 véletlen bit rendkívül valószínűtlenné teszi az ütközést. Ugyanazon az ezredmásodpercen belül a relatív sorrendjük nem garantáltan egyezik a létrehozás pontos sorrendjével.

Miért nem kötelezőek a kötőjelek?

A kötőjelek csak az olvashatóságot szolgálják. Eltávolításukkal egy 32 karakteres hexadecimális sztringet kapsz, amely pontosan ugyanazt az értéket képviseli, és amelyet egyes API-k és tárolási formátumok előnyben részesítenek.