UUID / ULID / NanoID generátor

Generáljon UUID v4, UUID v7, ULID és NanoID értékeket azonnal, közvetlenül a böngészőjében.

Formátum

122 bit tiszta véletlenszerűség — nincs sorrend, kitalálhatatlan.

Generált azonosítók
Kész.

Az azonosítók helyben generálódnak erős böngésző-véletlenszerűséggel. Semmi sem kerül elküldésre a BroBroGo-nak.

GYIK

Mi a különbség a UUID v4, UUID v7, ULID és NanoID között?

A UUID v4 122 bitnyi tiszta véletlenszerűséget jelent a jól ismert 36 karakteres formátumban, de a véletlenszerű sorrendje miatt nem optimális adatbázis-indexekhez. A UUID v7 megtartja ugyanezt a formátumot, de egy ezredmásodperces időbélyeggel kezdődik, így az azonosítók nagyjából a létrehozás ideje szerint rendezhetők – ami rendkívül hasznos elsődleges kulcsoknál. A ULID ugyanezt az időalapú rendezést nyújtja egy rövidebb, kis- és nagybetűkre nem érzékeny, 26 karakteres formátumban. A NanoID teljesen elhagyja az időalapú rendezést egy sokkal kisebb, teljesen testreszabható azonosítóért – Ön választhatja meg a hosszt és a karakterkészletet.

Eléggé véletlenszerűek ezek az azonosítók ahhoz, hogy kitalálhatatlanok legyenek?

Igen – minden azonosító kriptográfiailag erős böngésző-véletlenszerűséggel generálódik, nem pedig kiszámítható forrásból. A UUID v4 és a NanoID alapértelmezett ábécéje jóval több mint 100 bitnyi véletlenszerűséget hordoz. A UUID v7 és az ULID ebből körülbelül 48 bitet feláldoz a kezdő időbélyeg javára, így az időbélyeggel előtagolt formátumokat inkább rendezhető azonosítókként kezelje, mintsem titkokként.

Módosíthatom a NanoID hosszát és karakterkészletét?

Igen – ha átvált a NanoID-ra, az eszköz megjelenít egy hosszúság-csúszkát (alapértelmezetten 21 karakter, ami megegyezik a könyvtár alapértelmezésével), valamint egy szerkeszthető ábécé mezőt. A hossz csökkentése vagy a karakterkészlet szűkítése rontja az ütközésállóságot, így ha szűkíti a karakterkészletet, érdemes növelni a hosszt.

A modern szoftverfejlesztésben, az adatbázis-tervezésben és a rendszerek közötti adatcserében alapvető követelmény az egyedi azonosítók használata. A megfelelő formátum kiválasztása jelentősen befolyásolja a rendszerek teljesítményét, az adatbázisok indexelési hatékonyságát és az adatok biztonságát. Ez az útmutató részletesen bemutatja a UUID v4, UUID v7, ULID és NanoID formátumok közötti technikai különbségeket, felépítésüket és az egyedi igények szerinti alkalmazásukat.

Az azonosító formátumok összehasonlítása és felépítése

A különböző azonosító típusok eltérő egyensúlyt teremtenek a véletlenszerűség, a rendezhetőség és a karaktersorozat hossza között.

UUID v4 (Universally Unique Identifier version 4)

A UUID v4 a legelterjedtebb általános célú egyedi azonosító. Teljes mérete 128 bit, amelyből a specifikáció szerint 122 bit tiszta véletlenszerűség. Megjelenése egy szabványos 36 karakteres formátum, amely kötőjelekkel tagolt hexadecimális karakterekből áll (például: f81d4fae-7dec-11d0-a765-00a0c91e6bf6). Mivel generálása során nincs figyelembe véve az időtényező, az azonosítók teljesen véletlenszerű sorrendben keletkeznek. Ez a tulajdonság kiváló biztonságot nyújt a kitalálhatóság ellen, ugyanakkor hátrányt jelent a hagyományos B-fa alapú adatbázis-indexek esetében, ahol a véletlenszerű beszúrások indexfragmentációhoz vezethetnek.

UUID v7 (Universally Unique Identifier version 7)

A UUID v7 egy modernebb megközelítés, amely megtartja a klasszikus 36 karakteres UUID formátumot, de belső szerkezetét megváltoztatja. Az azonosító egy ezredmásodperces pontosságú Unix időbélyeggel kezdődik, amelyet véletlenszerű bitek követnek. Ez a felépítés lehetővé teszi, hogy az azonosítók nagyjából a létrehozásuk ideje szerint rendezhetők legyenek. Az időalapú rendezhetőség drasztikusan javítja az adatbázisok indexelési teljesítményét, miközben az azonosító megőrzi a UUID-kompatibilitást. Fontos megjegyezni, hogy az azonos másodpercben vagy ezredmásodpercben keletkező azonosítók esetében a szigorú időrendi sorrend nem garantált.

ULID (Universally Unique Lexicographically Sortable Identifier)

A ULID az UUID v7-hez hasonlóan egy időbélyeggel kezdődő, időrendbe rendezhető azonosító, de eltérő kódolást használ. Az eredmény egy 26 karakteres, kis- és nagybetűkre nem érzékeny karaktersorozat. A ULID szintén ezredmásodperc alapú időbélyeget használ az elején, így biztosítja a kronológiai rendezhetőséget, de kompaktabb formában jelenik meg, mint a hagyományos UUID. Az UUID v7-hez hasonlóan itt sem garantált a szigorú sorrendiség az azonos ezredmásodpercen belül generált elemeknél.

NanoID

A NanoID egy kifejezetten kompakt, nem szekvenciális azonosító, amely szakít a kötött struktúrákkal. Alapértelmezett hossza 21 karakter, és nem tartalmaz időbélyeget, így nem rendezhető. Legfőbb előnye a teljes testreszabhatóság: a felhasználó szabadon meghatározhatja a generált azonosító hosszát és a felhasznált karakterek halmazát (ábécéjét).


Véletlenszerűség, ütközésállóság és biztonság

Az egyedi azonosítók biztonsága és megbízhatósága a kriptográfiai erősségen és az ütközések elkerülésén alapul. Az ütközés akkor következik be, ha a rendszer kétszer generálja le pontosan ugyanazt az azonosítót.

A generálás során alkalmazott matematikai összefüggések meghatározzák az ütközési valószínűséget:

  • UUID v4: A 122 bites véletlenszerűség rendkívül magas entrópiát biztosít. Az ütközés gyakorlati esélye elhanyagolható, így biztonsággal használható elosztott rendszerekben koordináció nélkül is.
  • UUID v7 és ULID: Mindkét formátum feláldozza a véletlenszerű bitek egy részét (körülbelül 48 bitet) az időbélyeg javára. Emiatt ezeket az azonosítókat elsősorban rendezhető adatbázis-kulcsokként érdemes kezelni, nem pedig kitalálhatatlan titkos tokenekként.
  • NanoID: Az ütközési ellenállás közvetlen összefüggésben áll a kiválasztott hosszúsággal és az ábécé méretével. Ha csökkentjük a hosszt vagy szűkítjük a karakterkészletet, az ütközés valószínűsége növekszik. Emiatt a karakterkészlet szűkítése esetén javasolt a hossz növelése az entrópia fenntartása érdekében.

A generátor működése és paraméterezése

A generátor felületén a különböző formátumok előállítását az alábbi beállítások szabályozzák:

Paraméter / Opció Leírás és szabályok
Formátum Kiválasztható típusok: UUID v4, UUID v7, ULID, NanoID.
Darabszám A generálni kívánt azonosítók száma, amely 1 és 100 közötti érték lehet.
Nagybetűs UUID formátumok esetén engedélyezi a nagybetűs megjelenítést.
Kötőjelek használata UUID formátumok esetén ki- vagy bekapcsolható a kötőjelek megjelenítése.
Hossz NanoID esetén használható csúszka, amellyel a hossz 2 és 36 karakter között állítható be (alapértelmezett: 21).
Ábécé NanoID esetén szerkeszthető szöveges mező az egyedi karakterkészlet megadásához.

Bármely opció módosítása azonnal újragenerálja az azonosítókat. A NanoID ábécéjének érvényességi szabálya, hogy annak legalább 2 különböző karaktert kell tartalmaznia. Amennyiben a megadott ábécé egyetlen karakterre csökken, a generátor hibaüzenetet ad vissza, az eredmények törlődnek, az azonosítók száma nullára változik, és az összes másolása funkció elérhetetlenné válik.


Adatkezelés és helyi biztonság

A generátor használata során kiemelt szempont a magánélet védelme. Az azonosítók generálása teljes egészében helyben, a felhasználó böngészőjében történik a böngésző saját, kriptográfiailag erős véletlenszám-generátorának segítségével. A folyamat során semmilyen adat vagy generált azonosító nem kerül elküldésre a BroBroGo szervereire. Ez garantálja, hogy a létrehozott értékek bizalmasak maradnak, és nem szivároghatnak ki hálózati forgalmon keresztül.


Gyakran Ismételt Kérdések

Mi a különbség a UUID v4, UUID v7, ULID és NanoID között?

A UUID v4 122 bitnyi tiszta véletlenszerűséget jelent a jól ismert 36 karakteres formátumban, de a véletlenszerű sorrendje miatt nem optimális adatbázis-indexekhez. A UUID v7 megtartja ugyanezt a formátumot, de egy ezredmásodperces időbélyeggel kezdődik, így az azonosítók nagyjából a létrehozás ideje szerint rendezhetők – ami rendkívül hasznos elsődleges kulcsoknál. A ULID ugyanezt az időalapú rendezést nyújtja egy rövidebb, kis- és nagybetűkre nem érzékeny, 26 karakteres formátumban. A NanoID teljesen elhagyja az időalapú rendezést egy sokkal kisebb, teljesen testreszabható azonosítóért – Ön választhatja meg a hosszt és a karakterkészletet.

Eléggé véletlenszerűek ezek az azonosítók ahhoz, hogy kitalálhatatlanok legyenek?

Igen – minden azonosító kriptográfiailag erős böngésző-véletlenszerűséggel generálódik, nem pedig kiszámítható forrásból. A UUID v4 és a NanoID alapértelmezett ábécéje jóval több mint 100 bitnyi véletlenszerűséget hordoz. A UUID v7 és az ULID ebből körülbelül 48 bitet feláldoz a kezdő időbélyeg javára, így az időbélyeggel előtagolt formátumokat inkább rendezhető azonosítókként kezelje, mintsem titkokként.

Módosíthatom a NanoID hosszát és karakterkészletét?

Igen – ha átvált a NanoID-ra, az eszköz megjelenít egy hosszúság-csúszkát (alapértelmezetten 21 karakter, ami megegyezik a könyvtár alapértelmezésével), valamint egy szerkeszthető ábécé mezőt. A hossz csökkentése vagy a karakterkészlet szűkítése rontja az ütközésállóságot, így ha szűkíti a karakterkészletet, érdemes növelni a hosszt.

Hogyan működik a generált azonosítók másolása?

A felületen a generált azonosítók listájából bármelyik egyedi elemre rákattintva az adott azonosító azonnal a vágólapra kerül. Ha az összes legenerált elemet egyszerre szeretné kimenteni, az erre szolgáló funkciógombbal a teljes lista egyetlen lépésben kimásolható.