Comment utiliser le générateur UUID / ULID
- Sélectionnez le type d'identifiant : UUID v4 ou ULID.
- Définissez la quantité (1-100) et cliquez sur Générer.
- Cliquez sur Tout copier pour copier tous les identifiants dans le presse-papiers.
UUID v4
UUID (Universally Unique Identifier) v4 est un identifiant de 128 bits généré à partir de nombres aléatoires cryptographiquement sécurisés. Il est formaté en cinq groupes de chiffres hexadécimaux séparés par des tirets : xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. Le 4 dans le troisième groupe indique la version.
La probabilité de générer deux UUID v4 identiques est astronomiquement faible. Il est possible de les utiliser comme clés primaires, tokens de session ou ID de corrélation sans coordination entre systèmes.
ULID
ULID (Universally Unique Lexicographically Sortable Identifier) est un identifiant de 128 bits qui encode un horodatage en millisecondes dans les 10 premiers caractères, suivi de 16 caractères aléatoires. Format : 01ARZ3NDEKTSV4RRFFQ69G5FAV (26 caractères, Base32 Crockford).
Avantage principal par rapport à UUID : les ULIDs se trient lexicographiquement par ordre de création. Cela les rend bien plus efficaces comme clés primaires, les index B-tree restent ordonnés et les requêtes par plage de dates fonctionnent naturellement.
UUID vs ULID : lequel choisir ?
| UUID v4 | ULID | |
|---|---|---|
| Triable par temps | Non | Oui |
| Standard industriel | Oui (RFC 4122) | Adoption croissante |
| Efficacité index DB | Moyenne | Élevée |
| Format | 32 hex + 4 tirets | 26 caractères Base32 |
Cas d'usage courants
- Clés primaires de base de données: UUID ou ULID comme ID de tout enregistrement, sans révéler le nombre de lignes
- Tokens de session: UUID pour identifier une session utilisateur côté serveur
- Noms de fichiers: renommer les fichiers uploadés avec un UUID pour éviter les conflits et l'énumération
- Systèmes distribués: générer des IDs sur n'importe quel noeud sans coordination ni séquence centrale
Confidentialité
La génération utilise les API crypto.randomUUID() et crypto.getRandomValues() du navigateur. Rien n'est envoyé à un serveur.