Qu'est-ce qu'un UUID ? Comprendre les identifiants universellement uniques
Un UUID (Universally Unique Identifier) est une étiquette de 128 bits utilisée pour identifier de manière unique des informations dans les systèmes informatiques. Avec plus de 5 milliards de milliards de milliards de milliards de valeurs possibles, les collisions sont pratiquement impossibles sans autorité centrale.
Que signifie UUID ?
UUID signifie Universally Unique Identifier (identifiant universellement unique). La spécification plus récente RFC 9562 utilise le terme Universally Unique IDentifier. Quel que soit le nom, le concept reste le même : un format standardisé pour générer des identifiants uniques dans l'espace et le temps, sans coordination entre les parties qui les génèrent.
Le format UUID
Un UUID est une valeur de 128 bits affichée sous forme de 32 caractères hexadécimaux répartis en cinq groupes séparés par des tirets :
550e8400-e29b-41d4-a716-446655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
- Le chiffre M indique la version de l'UUID (1-8).
- Le chiffre N indique la variante (généralement
8,9,aoubpour les UUID RFC 4122). - Les 122 bits restants contiennent les données uniques proprement dites.
La représentation standard utilise des lettres minuscules, bien que les majuscules soient également valides.
Les versions d'UUID expliquées
Chaque version répond à des besoins différents :
- Version 1 : Basée sur l'horodatage et l'adresse MAC. Garantit l'unicité par le temps et l'identité matérielle, mais révèle l'adresse MAC de la machine génératrice.
- Version 2 : Similaire à la v1 mais avec une précision temporelle réduite, intégrant un UID POSIX. Rarement utilisée.
- Version 3 : Générée en hachant un espace de noms et un nom avec MD5. Déterministe — la même entrée produit toujours le même UUID.
- Version 4 : Entièrement aléatoire (ou pseudo-aléatoire). La version la plus couramment utilisée aujourd'hui. Dépend d'un bon générateur de nombres aléatoires.
- Version 5 : Comme la v3 mais utilise SHA-1 au lieu de MD5. Préférée à la v3 pour les nouvelles applications.
- Version 6 : Une version réorganisée de la v1 qui se trie chronologiquement tout en conservant l'unicité.
- Version 7 : Basée sur l'horodatage avec remplissage aléatoire, conçue pour l'indexation en base de données. Triable et moderne.
- Version 8 : Implémentation personnalisée permettant l'intégration de données spécifiques à l'application.
Pourquoi les UUID garantissent l'unicité
Un UUID de version 4 possède 122 bits aléatoires, ce qui donne environ 5,3 × 10³⁶ valeurs possibles. La probabilité de générer deux UUID identiques est astronomiquement faible — comparable à la probabilité qu'une météorite tombe sur votre salle serveur au moment exact de la collision.
Cas d'utilisation courants
- Clés primaires de base de données : Les UUID évitent les problèmes de coordination des entiers auto-incrémentés dans les bases de données distribuées.
- Jetons de session : Les applications web utilisent les UUID pour identifier les sessions utilisateur sans exposer d'identifiants séquentiels.
- Nommage de fichiers : Les systèmes acceptant des uploads utilisent les UUID pour éviter les collisions de noms.
- Systèmes distribués : Les microservices génèrent des UUID de manière indépendante sans risque de conflits d'identifiants.
- Identifiants de ressources API : Les API RESTful utilisent les UUID dans les URL pour prévenir les attaques par énumération.
Questions fréquentes
Deux UUID peuvent-ils être identiques ?
Théoriquement oui, mais la probabilité est si faible qu'elle est considérée comme pratiquement impossible. Pour un UUID v4, il faudrait générer environ 2,7 × 10¹⁸ UUID avant d'avoir 50% de chances d'une seule collision.
Dois-je utiliser des UUID comme clés primaires en base de données ?
Les UUID fonctionnent bien comme clés primaires dans les systèmes distribués, mais leur caractère aléatoire peut fragmenter les index. L'UUID v7 est préféré car son préfixe d'horodatage fournit un ordre naturel.
Quelle est la différence entre UUID et GUID ?
GUID (Globally Unique Identifier) est l'implémentation Microsoft du concept d'UUID. Ils suivent le même format et les mêmes normes, bien que les outils Microsoft puissent les générer avec des algorithmes légèrement différents.
Guides associés
- Qu'est-ce que l'encodage Base64 ? Fonctionnement et cas d'utilisation
- Qu'est-ce que le JSON ? Guide complet sur la notation JavaScript
- Qu'est-ce que l'encodage URL ? Guide sur le percent-encoding
- Qu'est-ce qu'une fonction de hachage ? MD5, SHA et hachage cryptographique
- Qu'est-ce que le XML ? Guide complet sur le langage de balisage extensible
Dernière mise à jour le 2026-09-27