Générateur d’ULID et de NanoID
ULID & NanoID Generator
Produit des ULID triables ou des NanoID courts avec l’alphabet et la longueur voulus, et indique la probabilité de collision.
Génère des ULID et des NanoID — les deux formats d'identifiants courts vers lesquels on se tourne quand un UUID de 36 caractères est trop long pour une URL. Il montre aussi l'arithmétique des collisions pour la longueur et l'alphabet que vous avez choisis, la partie qui décide si l'identifiant est assez court ou trop court.
26 caractères, triables, avec un horodatage en millisecondes dans les dix premiers.
0 identifiants
Quelle est la probabilité d’une collision
Entropie
80,0 bits
Identifiants avant 1 % de risque
1,56e11
À 1 000 par heure
18 milliers d’années
La borne des anniversaires : P ≈ 1 − exp(−n²/2N). Le nombre ci-dessous est le point où elle atteint un pour cent.
Décoder un ULID
Les ULID suivent la spécification ULID : 48 bits d’horodatage en millisecondes puis 80 bits aléatoires, en base32 de Crockford — qui laisse de côté I, L, O et U pour qu’on n’en lise aucun de travers à voix haute.
Comment s’en servir
Choisissez ULID ou NanoID
Un ULID fait 26 caractères fixes, avec un horodatage en millisecondes dans les dix premiers : il se trie. Un NanoID est de n'importe quelle longueur sur n'importe quel alphabet et n'est que de l'entropie — rien en lui n'est ordonné.
Réglez la longueur et l'alphabet
Pour NanoID, la valeur par défaut est 21 caractères sur 64 symboles. Un identifiant plus court ou un alphabet plus petit — disons un jeu sans caractères sosies pour quelque chose que les gens lisent à voix haute — coûte de l'entropie, et le panneau en dessous montre exactement combien.
Lisez la ligne des collisions
Elle donne le nombre d'identifiants avant une chance sur cent de collision, et le temps que cela représente à mille par jour. En dessous de 64 bits d'entropie, la page le dit, parce que c'est la frontière entre un slug d'URL et quelque chose qui ne doit pas être devinable.
Décodez un ULID si vous en avez un
Collez-le et le panneau affiche l'heure de création et la queue aléatoire — utile pour savoir quand un enregistrement a réellement été créé.
Questions fréquentes
Un identifiant court est-il sûr comme lien secret ?
Seulement si son entropie le dit. Un NanoID de 21 caractères a environ 126 bits et convient ; un de 10 caractères en a environ 60 et est devinable par quiconque accepte d'y mettre de l'argent. La page signale tout ce qui est en dessous de 64 bits exactement pour cette raison — un identifiant court est un identifiant court, pas un secret.
Pourquoi un alphabet personnalisé ressort-il quand même uniforme ?
Parce que les symboles sont tirés par échantillonnage avec rejet plutôt que par `random % length`. Le raccourci du modulo biaise tout alphabet dont la longueur ne divise pas 256 — le bug classique des générateurs d'identifiants faits maison, invisible tant que personne ne compte.
Que fait Monotone pour un ULID ?
À l'intérieur d'une même milliseconde, des ULID ordinaires sont dans un ordre aléatoire les uns par rapport aux autres. Le mode monotone incrémente le champ aléatoire au lieu de le retirer au hasard : une rafale générée dans la même milliseconde se trie donc encore dans l'ordre où elle a été créée.
Pourquoi un ULID utilise-t-il un base32 sans I, L, O ni U ?
C'est l'alphabet de Crockford : il retire les caractères que l'on confond quand un humain lit un identifiant à voix haute ou le recopie depuis un écran. Le compromis, c'est 32 symboles au lieu de 36 — d'où les 26 caractères d'un ULID là où un NanoID en demande 21.
À alimenter depuis
Ensuite
Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.
Générateur de mots de passe
Password Generator
Produit des mots de passe aléatoires avec longueur, jeu de caractères et exclusion des caractères ambigus au choix, en série si besoin.
Générateur de clé aléatoire
Random Key Generator
Produit des octets aléatoires cryptographiques en hexadécimal, en Base64 ou en Base64URL à la longueur voulue, pour les secrets d’une application.
Générateur d’UUID
UUID Generator
Produit des UUID v1, v4, v5 et v7 en série, et extrait l’horodatage d’une valeur v1 ou v7.
Encodeur et décodeur Base64
Base64 Encoder & Decoder
Encode et décode en Base64 et en Base64URL, pour du texte comme pour des fichiers, avec un traitement correct de l’UTF-8.
curl vers code
curl to Code
Traduit une commande curl en fetch, axios, requests Python, Go, PHP ou PowerShell.
Hachage de texte
Text Hash
Calcule le MD5, le SHA-1, le SHA-256, le SHA-384, le SHA-512 et le CRC-32 d’une chaîne, avec sortie en majuscules ou en Base64.