Generador de Nano ID Gratuït - Identificadors Únics Segurs i URL-Friendly Online
Genera Nano IDs segurs a l'instant! Eina online gratuïta que crea identificadors únics compactes i URL-safe, un 42% més curts que UUID. Perfecte per a bases de dades, APIs, tokens i sistemes.
La longitud del Nano ID generat (1-100 caràcters)
Seleccioneu el conjunt de caràcters per al vostre Nano ID
Nano ID Generat
Visualització
Documentació
Un generador de Nano ID crea una cadena curta i aleatòria de caràcters anomenada Nano ID. Els Nano ID funcionen com a identificadors únics per a elements com ara registres de bases de dades, URL i tokens d’API, i és extremadament improbable que dos identificadors generats coincideixin mai.
Què és un Nano ID?
Un Nano ID és una cadena generada aleatòriament que s’utilitza per etiquetar alguna cosa perquè es pugui distingir de qualsevol altra. El desenvolupador de programari Andrey Sitnik va crear el format l’any 2017 com a alternativa més petita a l’UUID (identificador universalment únic), un identificador de 36 caràcters molt utilitzat en informàtica. Un Nano ID predeterminat té 21 caràcters, en comparació amb els 36 d’un UUID, una reducció d’aproximadament el 42 %.
Com es genera un Nano ID amb aquesta eina
El generador d’aquesta pàgina crea un Nano ID a partir de dos paràmetres.
- Longitud: un nombre enter entre 1 i 100. El valor predeterminat és 21.
- Conjunt de caràcters: el grup de caràcters a partir del qual es crea l’identificador. El valor predeterminat és alfanumèric.
Introduïu una longitud, trieu un conjunt de caràcters i premeu «Generate» per crear un identificador. Premeu «Copy» per copiar-lo o «Reset» per tornar a una longitud de 21 i al conjunt alfanumèric. També apareix automàticament un identificador nou cada vegada que canvia la longitud o el conjunt de caràcters. Sota els botons, l’eina mostra cada caràcter de l’identificador com un bloc de color: blau per a una lletra majúscula, verd per a una lletra minúscula, taronja per a un dígit i gris per a un signe de puntuació.
Si la longitud no és un nombre enter entre 1 i 100, l’eina mostra el missatge «Length must be an integer between 1 and 100» i no genera cap identificador.
Conjunts de caràcters disponibles
L’eina ofereix set conjunts de caràcters fixos. No admet un alfabet personalitzat escrit per l’usuari. El conjunt «With Symbols» afegeix aquests 26 signes de puntuació als caràcters alfanumèrics: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Joc de caràcters | Caràcters utilitzats | Mida de l’alfabet |
|---|---|---|
| Alfanumèric (predeterminat) | A-Z, a-z, 0–9 | 62 |
| Compatible amb URL | A-Z, a-z, 0-9, -, _ | 64 |
| Numèric | 0–9 | 10 |
| Alfabètic | A-Z, a-z | 52 |
| Minúscules | a-z | 26 |
| Majúscules | A-Z | 26 |
| Amb símbols | A-Z, a-z, 0–9 i 26 signes de puntuació | 88 |
El conjunt alfanumèric està seleccionat de manera predeterminada. Exclou el guionet i el guió baix utilitzats en el conjunt compatible amb URL, tot i que les lletres i els dígits sols ja es poden col·locar directament en una URL amb seguretat.
Fórmula del Nano ID
Un Nano ID es crea triant aleatòriament un nombre fix de caràcters d’un alfabet, d’un en un, mitjançant un generador de nombres aleatoris criptogràficament segur. És a dir, un generador dissenyat perquè el seu resultat no es pugui predir per endavant.
1id = random(alphabet, size)
2Amb els paràmetres predeterminats, alphabet té 62 caràcters i size és 21.
Exemple resolt
Amb l’alfabet alfanumèric predeterminat i una longitud de 21, un identificador generat possible és:
1K7pQ2mZxT9vY4nR8jH3wL
2Cada caràcter es tria independentment entre les 62 lletres i dígits, de manera que executar el generador dues vegades gairebé mai no produirà la mateixa cadena.
Com es calcula la probabilitat de col·lisió
Com que un Nano ID es tria aleatòriament, és possible, encara que molt improbable, que dos identificadors generats coincideixin. Això s’anomena col·lisió. La probabilitat que es produeixi almenys una col·lisió després de generar k identificadors segueix les mateixes matemàtiques que el «problema dels aniversaris»:
1P(collision) ≈ 1 - e^(-k² / (2n))
2Aquí n és el nombre d’identificadors possibles: la mida de l’alfabet elevada a la potència de la longitud de l’identificador, o bé n = alphabet_size^length.
Exemple resolt
Per a la configuració predeterminada, amb un alfabet de 62 caràcters i una longitud de 21 caràcters:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2En resoldre la fórmula per a una probabilitat de col·lisió de 1 %, s’obté:
1k ≈ 9.4 × 10^17 IDs
2Això vol dir que cal generar aproximadament 940 biliards d’identificadors abans que hi hagi tan sols una probabilitat de 1 % que dos coincideixin. Generant un milió d’identificadors per segon, arribar a aquesta quantitat trigaria aproximadament 29.700 anys.
Canviar a l’alfabet de 64 caràcters compatible amb URL augmenta lleugerament la quantitat, fins a aproximadament 1,3 × 10^18 identificadors per al mateix risc de 1 %, perquè l’alfabet més gran ofereix més identificadors possibles per triar.
El Nano ID en comparació amb altres identificadors
| Tipus | Longitud | Notes |
|---|---|---|
| Nano ID | 21 caràcters, ajustable | Aleatori, compacte i no ordenable per temps |
| UUID | 36 caràcters | Format estàndard, àmpliament compatible i amb guionets |
| ULID | 26 caràcters | Ordenable per l’hora de creació |
| KSUID | 27 caràcters | Ordenable per temps de creació i amb una marca temporal |
| Enter autoaugmentat | Variable | Simple i seqüencial, però predictible i difícil de coordinar entre bases de dades separades |
Preguntes freqüents
Quina és la longitud i el conjunt de caràcters predeterminats d’un Nano ID?
El valor predeterminat és de 21 caràcters del conjunt de caràcters alfanumèric: A-Z, a-z, 0-9, que té 62 caràcters en total.
Aquesta eina admet un alfabet personalitzat?
No. Ofereix set conjunts de caràcters fixos: alfanumèric, compatible amb URL, numèric, alfabètic, minúscules, majúscules i «With Symbols».
En què es diferencia un Nano ID d’un UUID?
Un Nano ID és més curt. El valor predeterminat és de 21 caràcters, en comparació amb els 36 caràcters d’un UUID; és aproximadament un 42 % més curt. Tots dos es generen aleatòriament i no són seqüencials.
Es pot ordenar un Nano ID segons el moment en què es va crear?
No. Els Nano ID són completament aleatoris, de manera que no contenen informació sobre quan es van generar. Formats com ULID o KSUID estan dissenyats per poder-se ordenar per temps.
És segur utilitzar un Nano ID com a clau primària d’una base de dades?
Sí. S’hauria d’emmagatzemar en una columna de text o de cadena, no pas numèrica, amb un índex únic per accelerar les cerques.
Quants Nano ID possibles hi ha?
Depèn de la longitud i del conjunt de caràcters triats. Amb l’alfabet predeterminat de 62 caràcters i una longitud de 21 caràcters, hi ha 62^21 identificadors possibles, aproximadament 4,4 × 10^37.
Referències
- Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
- "Universally unique identifier." Viquipèdia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub, https://github.com/ulid/spec.