Ingyenes Nano ID Generátor - Biztonságos URL-kompatibilis Egyedi Azonosítók Online
Generáljon biztonságos Nano ID-kat azonnal! Ingyenes online eszköz, amely kompakt, URL-kompatibilis egyedi azonosítókat hoz létre, amelyek 42%-kal rövidebbek, mint az UUID. Tökéletes adatbázisokhoz, API-khoz, tokenekhez és rendszerekhez.
A generált Nano ID hossza (1-100 karakter)
Válassza ki a Nano ID karakterkészletét
Generált Nano ID
Vizualizáció
Dokumentáció
A Nano ID-generátor rövid, véletlenszerű karakterláncot hoz létre, amelyet Nano ID-nak neveznek. A Nano ID-k egyedi azonosítóként használhatók például adatbázisrekordokhoz, URL-ekhez és API-tokenekhez, és rendkívül valószínűtlen, hogy két létrehozott azonosító valaha megegyezzen.
Mi az a Nano ID?
A Nano ID véletlenszerűen létrehozott karakterlánc, amely valaminek a megjelölésére szolgál, hogy az megkülönböztethető legyen minden mástól. Andrey Sitnik szoftverfejlesztő 2017-ben hozta létre ezt a formátumot a UUID (Universally Unique Identifier, univerzálisan egyedi azonosító) kisebb alternatívájaként; ez a számítástechnikában széles körben használt, 36 karakterből álló azonosító. Az alapértelmezett Nano ID hossza 21 karakter, míg a UUID-é 36, ami körülbelül 42%-os csökkenést jelent.
Nano ID létrehozása ezzel az eszközzel
Az ezen az oldalon található generátor két beállítás alapján állít elő Nano ID-t.
- Hossz: 1 és 100 közötti egész szám. Az alapértelmezett érték 21.
- Karakterkészlet: azoknak a karaktereknek a csoportja, amelyekből az azonosító felépül. Az alapértelmezett az alfanumerikus készlet.
Adja meg a hosszt, válasszon karakterkészletet, majd az azonosító létrehozásához nyomja meg a „Generate” gombot. A másolásához nyomja meg a „Copy” gombot, a 21 karakteres hosszra és az alfanumerikus készletre való visszaállításhoz pedig a „Reset” gombot. Új azonosító automatikusan megjelenik akkor is, amikor a hossz vagy a karakterkészlet megváltozik. A gombok alatt az eszköz az azonosító minden karakterét színes blokként jeleníti meg: a nagybetű kék, a kisbetű zöld, a számjegy narancssárga, az írásjel pedig szürke.
Ha a hossz nem 1 és 100 közötti egész szám, az eszköz a „A hosszúságnak 1 és 100 közötti egész számnak kell lennie” üzenetet jeleníti meg, és nem hoz létre azonosítót.
Elérhető karakterkészletek
Az eszköz hét rögzített karakterkészletet kínál. Egyéni, a felhasználó által beírt ábécét nem fogad el. A „With Symbols” készlet az alfanumerikus karakterekhez a következő 26 írásjelet adja hozzá: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Karakterkészlet | Használt karakterek | Ábécé mérete |
|---|---|---|
| Alfanumerikus (alapértelmezett) | A–Z, a–z, 0–9 | 62 |
| URL-biztos | A–Z, a–z, 0-9, -, _ | 64 |
| Numerikus | 0–9 | 10 |
| Betűs | A–Z, a–z | 52 |
| Kisbetűs | a–z | 26 |
| Nagybetűs | A–Z | 26 |
| Szimbólumokkal | A–Z, a–z, 0–9 és 26 írásjel | 88 |
Alapértelmezés szerint az alfanumerikus készlet van kiválasztva. Nem tartalmazza az URL-biztos készletben használt kötőjelet és aláhúzásjelet, de önmagukban a betűk és a számjegyek is biztonságosan közvetlenül URL-be helyezhetők.
A Nano ID képlete
A Nano ID úgy készül, hogy egy ábécéből véletlenszerűen, egyenként kiválasztanak meghatározott számú karaktert egy kriptográfiailag biztonságos véletlenszám-generátor segítségével. Ez olyan generátor, amelynek kimenete előre nem jelezhető.
1id = random(alphabet, size)
2Az alapértelmezett beállítások mellett az alphabet 62 karakterből áll, a size értéke pedig 21.
Megoldott példa
Az alapértelmezett alfanumerikus ábécét és a 21 karakteres hosszt használva az egyik lehetséges létrehozott azonosító:
1K7pQ2mZxT9vY4nR8jH3wL
2Minden karaktert függetlenül választ ki az 62 betűből és számjegyből álló készletből, ezért a generátor két egymás utáni futtatásakor szinte soha nem jön létre ugyanaz a karakterlánc.
Az ütközés valószínűségének kiszámítása
Mivel a Nano ID véletlenszerűen készül, lehetséges, bár nagyon valószínűtlen, hogy két létrehozott azonosító megegyezzen. Ezt ütközésnek nevezik. Legalább egy ütközés valószínűsége k azonosító létrehozása után ugyanazt a matematikát követi, mint a „születésnap-paradoxon”:
1P(collision) ≈ 1 - e^(-k² / (2n))
2Itt az n a lehetséges azonosítók száma: az ábécé mérete az azonosító hosszának hatványán, vagyis n = alphabet_size^length.
Megoldott példa
Az alapértelmezett beállításnál egy 62 karakteres ábécé és 21 karakteres hossz esetén:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2A képletet 1%-os ütközési valószínűségre megoldva:
1k ≈ 9.4 × 10^17 IDs
2Ez azt jelenti, hogy körülbelül 940 kvadrillió azonosítót kell létrehozni ahhoz, hogy egyáltalán 1% esély legyen arra, hogy kettő megegyezzen. Másodpercenként egymillió azonosító létrehozásával ennek a számnak az elérése körülbelül 29 700 évig tartana.
Az 64 karakteres, URL-biztos ábécére váltva ez a szám kissé nő: ugyanekkora, 1%-os kockázat mellett körülbelül 1,3 × 10^18 azonosítóra van szükség, mivel a nagyobb ábécéből több lehetséges azonosító választható.
A Nano ID összehasonlítása más azonosítókkal
| Típus | Hossz | Megjegyzések |
|---|---|---|
| Nano ID | 21 karakter, állítható | Véletlenszerű, tömör, létrehozási idő szerint nem rendezhető |
| UUID | 36 karakter | Szabványos formátum, széles körben támogatott, kötőjeleket tartalmaz |
| ULID | 26 karakter | Létrehozási idő szerint rendezhető |
| KSUID | 27 karakter | Létrehozási idő szerint rendezhető, időbélyeget tartalmaz |
| Automatikusan növekvő egész szám | Változó | Egyszerű és sorban növekvő, de előre jelezhető, és különálló adatbázisok között nehezen hangolható össze |
Gyakran ismételt kérdések
Mi az alapértelmezett Nano ID-hossz és karakterkészlet?
Az alapértelmezett hossz 21 karakter, a karakterkészlet pedig az alfanumerikus készlet: A–Z, a–z, 0-9, vagyis összesen 62 karakter.
Támogat ez az eszköz egyéni ábécét?
Nem. Hét rögzített karakterkészletet kínál: alfanumerikus, URL-biztos, numerikus, betűs, kisbetűs, nagybetűs és „With Symbols”.
Miben különbözik a Nano ID a UUID-től?
A Nano ID rövidebb. Az alapértelmezett hossz 21 karakter, szemben a UUID 36 karakterével, vagyis körülbelül 42%-kal rövidebb. Mindkettő véletlenszerűen jön létre, és egyik sem sorozatos.
Rendezhető egy Nano ID a létrehozásának időpontja szerint?
Nem. A Nano ID-k teljesen véletlenszerűek, ezért nem tartalmaznak információt arról, mikor jöttek létre. Az olyan formátumokat, mint az ULID vagy a KSUID, ezzel szemben úgy alakították ki, hogy idő szerint rendezhetők legyenek.
Biztonságosan használható a Nano ID adatbázis elsődleges kulcsaként?
Igen. Szám helyett szöveg- vagy karakterláncoszlopként kell tárolni, a gyors kereséshez pedig egyedi indexet kell létrehozni rajta.
Hány lehetséges Nano ID létezik?
Ez a választott hossztól és karakterkészlettől függ. Az alapértelmezett, 62 karakteres ábécé és 21 karakteres hossz esetén 62^21, azaz körülbelül 4,4 × 10^37 lehetséges azonosító van.
Hivatkozások
- Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
- "Universally unique identifier." Wikipédia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub, https://github.com/ulid/spec.