Générateur d'ID Nano gratuit - Identifiants uniques sécurisés et compatibles URL en ligne
Générez des ID Nano sécurisés instantanément ! Outil en ligne gratuit qui crée des identifiants uniques compacts et compatibles URL, 42% plus courts que les UUID. Parfait pour les bases de données, les API, les jetons et les systèmes.
La longueur de l'ID Nano généré (1-100 caractères)
Sélectionnez le jeu de caractères pour votre ID Nano
ID Nano généré
Visualisation
Documentation
Un générateur de Nano ID crée une courte chaîne de caractères aléatoire appelée Nano ID. Les Nano ID servent d’identifiants uniques pour des éléments tels que des enregistrements de base de données, des URL et des jetons d’API, et il est extrêmement improbable que deux identifiants générés soient un jour identiques.
Qu’est-ce qu’un Nano ID ?
Un Nano ID est une chaîne générée aléatoirement qui sert à étiqueter un élément afin de le distinguer de tous les autres. Le développeur de logiciels Andrey Sitnik a créé ce format en 2017 comme alternative plus compacte à l’UUID (identifiant universellement unique), un identifiant de 36 caractères largement utilisé en informatique. Un Nano ID par défaut comporte 21 caractères, contre 36 pour un UUID, soit une réduction d’environ 42 %.
Comment générer un Nano ID avec cet outil
Le générateur de cette page construit un Nano ID à partir de deux paramètres.
- Longueur : un nombre entier compris entre 1 et 100. La valeur par défaut est 21.
- Jeu de caractères : le groupe de caractères à partir duquel l’identifiant est construit. Par défaut, il est alphanumérique.
Saisissez une longueur, choisissez un jeu de caractères, puis appuyez sur « Generate » pour créer un identifiant. Appuyez sur « Copy » pour le copier, ou sur « Reset » pour revenir à une longueur de 21 et au jeu alphanumérique. Un nouvel identifiant apparaît également automatiquement chaque fois que la longueur ou le jeu de caractères change. Sous les boutons, l’outil représente chaque caractère de l’identifiant par un bloc coloré : bleu pour une lettre majuscule, vert pour une lettre minuscule, orange pour un chiffre et gris pour un signe de ponctuation.
Si la longueur n’est pas un nombre entier compris entre 1 et 100, l’outil affiche le message « Length must be an integer between 1 and 100 » et ne produit aucun identifiant.
Jeux de caractères disponibles
L’outil propose sept jeux de caractères fixes. Il n’accepte pas d’alphabet personnalisé saisi par l’utilisateur. Le jeu « With Symbols » ajoute ces 26 signes de ponctuation aux caractères alphanumériques : ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Jeu de caractères | Caractères utilisés | Taille de l’alphabet |
|---|---|---|
| Alphanumérique (par défaut) | A-Z, a-z, 0–9 | 62 |
| Compatible avec les URL | A-Z, a-z, 0-9, -, _ | 64 |
| Numérique | 0–9 | 10 |
| Alphabétique | A-Z, a-z | 52 |
| Minuscules | a-z | 26 |
| Majuscules | A-Z | 26 |
| Avec symboles | A-Z, a-z, 0–9 et 26 signes de ponctuation | 88 |
Le jeu alphanumérique est sélectionné par défaut. Il exclut le trait d’union et le trait de soulignement utilisés dans le jeu compatible avec les URL, bien que les lettres et les chiffres seuls puissent déjà être placés directement dans une URL sans danger.
Formule du Nano ID
Un Nano ID est construit en choisissant aléatoirement un nombre fixe de caractères dans un alphabet, un par un, à l’aide d’un générateur de nombres aléatoires cryptographiquement sûr. Il s’agit d’un générateur conçu de sorte que sa sortie ne puisse pas être prédite à l’avance.
1id = random(alphabet, size)
2Avec les paramètres par défaut, alphabet comporte 62 caractères et size vaut 21.
Exemple détaillé
En utilisant l’alphabet alphanumérique par défaut et une longueur de 21, un identifiant généré possible est :
1K7pQ2mZxT9vY4nR8jH3wL
2Chaque caractère est choisi indépendamment parmi les 62 lettres et chiffres ; exécuter le générateur deux fois ne produira donc presque jamais la même chaîne.
Comment calculer la probabilité de collision
Comme un Nano ID est choisi aléatoirement, il est possible, quoique très improbable, que deux identifiants générés soient identiques. Cela s’appelle une collision. La probabilité d’au moins une collision après la génération de k identifiants suit les mêmes principes mathématiques que le « problème des anniversaires » :
1P(collision) ≈ 1 - e^(-k² / (2n))
2Ici, n désigne le nombre d’identifiants possibles : la taille de l’alphabet élevée à la puissance de la longueur de l’identifiant, soit n = alphabet_size^length.
Exemple détaillé
Pour le paramètre par défaut, avec un alphabet de 62 caractères et une longueur de 21 caractères :
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2La résolution de la formule pour une probabilité de collision de 1 % donne :
1k ≈ 9.4 × 10^17 IDs
2Cela signifie qu’il faut générer environ 940 quadrillions d’identifiants avant même d’avoir une probabilité de 1 % que deux d’entre eux soient identiques. À raison d’un million d’identifiants générés par seconde, atteindre ce nombre prendrait environ 29 700 ans.
Le passage à l’alphabet compatible avec les URL de 64 caractères augmente légèrement ce nombre, à environ 1,3 × 10^18 identifiants pour le même risque de 1 %, car l’alphabet plus grand offre davantage d’identifiants possibles.
Comparaison du Nano ID avec d’autres identifiants
| Type | Longueur | Remarques |
|---|---|---|
| Nano ID | 21 caractères, longueur réglable | Aléatoire, compact, non triable par date |
| UUID | 36 caractères | Format standard, largement pris en charge, contient des traits d’union |
| ULID | 26 caractères | Triable par date de création |
| KSUID | 27 caractères | Triable par date de création, contient un horodatage |
| Entier auto-incrémenté | Variable | Simple et séquentiel, mais prévisible et difficile à coordonner entre des bases de données distinctes |
Foire aux questions
Quelle est la longueur et le jeu de caractères par défaut d’un Nano ID ?
La valeur par défaut est de 21 caractères issus du jeu alphanumérique : A-Z, a-z, 0-9, soit 62 caractères au total.
Cet outil prend-il en charge un alphabet personnalisé ?
Non. Il propose sept jeux de caractères fixes : alphanumérique, compatible avec les URL, numérique, alphabétique, minuscules, majuscules et « With Symbols ».
En quoi un Nano ID diffère-t-il d’un UUID ?
Un Nano ID est plus court. La valeur par défaut est de 21 caractères, contre 36 pour un UUID, soit environ 42 % de moins. Tous deux sont générés aléatoirement et ne sont pas séquentiels.
Un Nano ID peut-il être trié selon sa date de création ?
Non. Les Nano ID sont entièrement aléatoires et ne contiennent donc aucune information sur le moment où ils ont été générés. Des formats tels que l’ULID ou le KSUID sont au contraire conçus pour être triables par date.
Peut-on utiliser un Nano ID comme clé primaire d’une base de données ?
Oui. Il doit être stocké dans une colonne de texte ou de chaîne, plutôt que dans une colonne numérique, avec un index unique pour accélérer les recherches.
Combien existe-t-il de Nano ID possibles ?
Cela dépend de la longueur et du jeu de caractères choisis. Avec l’alphabet par défaut de 62 caractères et une longueur de 21 caractères, il existe 62^21 identifiants possibles, soit environ 4,4 × 10^37.
Références
- 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.