Générateur d’UUID — Créer des UUID aléatoires en ligne

Ce générateur d’UUID crée des UUID v4 aléatoires avec la Web Crypto API. Générez un seul UUID ou des lots dans cinq formats : standard, sans traits d’union, majuscules, accolades et URN. Validez des UUID existants pour vérifier leur version, leur variante et le détail des champs RFC 4122.

Générateur d’UUID

Générez des UUID v4 aléatoires ou validez des UUID existants

1

Questions fréquentes

Qu’est-ce qu’un UUID ?

Un UUID (Universally Unique Identifier) est un identifiant de 128 bits normalisé par la RFC 4122. Il se représente sous la forme de 32 chiffres hexadécimaux répartis en cinq groupes séparés par des traits d’union (8-4-4-4-12). Les UUID sont conçus pour être uniques à l’échelle globale sans autorité centrale d’enregistrement, ce qui les rend adaptés aux systèmes distribués, aux bases de données et au développement logiciel.

Quelle est la différence entre UUID v4 et v1 ?

Un UUID v1 est généré à partir d’un horodatage et de l’adresse MAC de la machine hôte. Il fournit un ordre temporel, mais peut exposer l’identité de l’hôte. Un UUID v4 est généré avec des nombres aléatoires ou pseudo-aléatoires et fournit 122 bits d’aléa. La version v4 est la plus utilisée, car elle est simple à générer, ne pose pas les mêmes problèmes de confidentialité et offre d’excellentes garanties d’unicité.

Quelle est la probabilité de collision d’un UUID v4 ?

Un UUID v4 contient 122 bits aléatoires, soit environ 5,3 × 10^36 valeurs possibles. La probabilité de générer un doublon est astronomiquement faible : il faudrait générer environ 2,71 × 10^18 UUID pour atteindre 50 % de probabilité d’une seule collision. En pratique, générer 1 milliard d’UUID par seconde pendant 85 ans ne donnerait encore qu’environ 50 % de probabilité d’un doublon.

Quelle est la différence entre UUID et GUID ?

UUID (Universally Unique Identifier) et GUID (Globally Unique Identifier) désignent le même concept : un identifiant unique de 128 bits. UUID est le terme utilisé dans la RFC 4122 et la plupart des écosystèmes open source, tandis que GUID est le terme employé par Microsoft dans Windows et .NET. Les formats sont fonctionnellement identiques, même si les GUID sont parfois affichés entre accolades.

Faut-il utiliser des UUID comme clés primaires de base de données ?

Les UUID fonctionnent bien comme clés primaires dans les bases de données distribuées, où plusieurs nœuds génèrent des identifiants indépendamment. Ils évitent d’avoir besoin de séquences auto-incrémentées centralisées. En revanche, les UUID v4 standards sont aléatoires, ce qui peut fragmenter les index B-tree et ralentir les insertions par rapport à des identifiants séquentiels. Pour de meilleures performances en base, envisagez UUID v7, ordonné par le temps, ou ULID.

Combien d’octets contient un UUID ?

Un UUID contient exactement 16 octets (128 bits). Stocké sous forme de chaîne dans le format standard (8-4-4-4-12 avec traits d’union), il occupe 36 caractères (32 chiffres hexadécimaux + 4 traits d’union). Pour optimiser le stockage, des bases comme PostgreSQL disposent d’un type UUID natif qui stocke les UUID sur 16 octets au lieu d’une chaîne de 36 octets.

Les UUID sont-ils sûrs pour les jetons et les secrets ?

Un UUID v4 généré avec un générateur aléatoire cryptographiquement sûr, comme crypto.randomUUID(), fournit 122 bits d’aléa, ce qui suffit pour des jetons de session et des jetons CSRF. Toutefois, les UUID ne sont pas conçus comme des secrets : leur objectif principal est l’unicité, pas l’imprévisibilité. Pour des clés d’API ou des jetons d’authentification, utilisez des bibliothèques spécialisées qui génèrent des chaînes aléatoires cryptographiquement sûres.

Quel format d’UUID dois-je utiliser ?

Le format standard avec traits d’union (8-4-4-4-12) est le plus courant et le plus interopérable. Utilisez le format sans traits d’union quand l’espace de stockage compte ou pour des identifiants plus pratiques dans les URL. Utilisez le format avec accolades ({...}) pour la compatibilité Microsoft COM/DCOM. Utilisez le format URN (urn:uuid:...) lorsque vous intégrez des UUID dans des espaces de noms URN ou des documents XML.

Puis-je générer des UUID hors ligne ?

Oui. Un UUID v4 nécessite uniquement une source de nombres aléatoires, disponible sur tous les appareils modernes via le système d’exploitation ou le navigateur. Cet outil génère les UUID entièrement dans votre navigateur avec la Web Crypto API (crypto.randomUUID()). Aucune requête serveur n’est effectuée et aucune donnée ne quitte votre appareil.

Quelles sont les différentes variantes d’UUID ?

Le champ variant (bits 64-65 de l’UUID) identifie la disposition de l’UUID. La plus courante est RFC 4122 (variant 1, indiqué par les deux bits de poids fort à '10'). Les autres variantes incluent la compatibilité ascendante NCS (variant 0), Microsoft COM/DCOM (variant 2) et une variante réservée pour un usage futur. Tous les UUID générés par cet outil utilisent la variante RFC 4122.

À propos des UUID / GUID

Un UUID (Universally Unique Identifier) est un identifiant de 128 bits normalisé par la RFC 4122. Les UUID sont conçus pour rester uniques sur l’ensemble des systèmes sans nécessiter d’autorité centrale d’enregistrement. Dans l’écosystème Microsoft, on les appelle souvent GUID (Globally Unique Identifiers). Les UUID sont largement utilisés dans les bases de données, les systèmes distribués, les API et le développement logiciel pour identifier des ressources sans coordination entre plusieurs parties.

Un UUID standard se représente sous forme de 32 chiffres hexadécimaux affichés en cinq groupes séparés par des traits d’union : xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, où M indique la version et N la variante.

Versions d’UUID expliquées

La spécification UUID définit plusieurs versions, chacune avec une méthode de génération différente :

VersionNomDescription
v1Basée sur le tempsGénérée à partir d’un horodatage et de l’adresse MAC de la machine hôte. Fournit un ordre temporel, mais expose l’identité de l’hôte.
v2Sécurité DCESimilaire à v1, mais incorpore l’UID/GID POSIX. Rarement utilisée en pratique hors des environnements DCE.
v3Basée sur un nom (MD5)UUID déterministe généré en hachant un espace de noms et un nom avec MD5. Les mêmes entrées produisent toujours le même UUID.
v4AléatoireGénérée avec des nombres aléatoires ou pseudo-aléatoires. C’est la version la plus utilisée grâce à sa simplicité et à ses fortes garanties d’unicité. Cet outil génère des UUID v4.
v5Basée sur un nom (SHA-1)Similaire à v3, mais utilise SHA-1 au lieu de MD5. Préférée à v3 pour les nouvelles applications qui ont besoin d’UUID déterministes.

Format et structure d’un UUID

Un UUID contient 128 bits (16 octets), représentés par 32 chiffres hexadécimaux dans la forme canonique 8-4-4-4-12. Selon la RFC 4122, les champs sont :

ChampChiffres hexadécimauxDescription
time_low832 bits bas de l’horodatage
time_mid416 bits intermédiaires de l’horodatage
time_hi_and_version4Les 4 bits hauts indiquent la version, les 12 bits bas appartiennent à l’horodatage
clock_seq4Variante (2 à 3 bits) et séquence d’horloge (13 à 14 bits)
node12Identifiant de nœud sur 48 bits (généralement l’adresse MAC pour v1)

Pour un UUID v4, tous les champs sauf les bits de version et de variante sont remplis avec des données aléatoires, ce qui fournit 122 bits d’aléa.

UUID ou GUID

UUID et GUID désignent le même concept : un identifiant unique de 128 bits. Le terme « UUID » vient de la norme RFC 4122 et est utilisé sous Linux, macOS et dans la plupart des langages de programmation. Le terme « GUID » (Globally Unique Identifier) vient de Microsoft et reste courant dans le développement Windows, .NET et COM. Les seules différences pratiques sont :

  • Convention de nommage — les standards RFC et la plupart des projets open source utilisent « UUID » ; la documentation Microsoft utilise « GUID »
  • Représentation du format — les GUID sont parfois affichés avec des accolades : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
  • Ordre des octets — la structure GUID de Microsoft utilise en interne un ordre d’octets mixte, tandis que les UUID RFC 4122 utilisent l’ordre réseau (big-endian)

Cas d’utilisation courants

  • Clés primaires de base de données — les UUID servent de clés primaires uniques à l’échelle globale, générables indépendamment par n’importe quel nœud, sans séquences auto-incrémentées ni serveurs d’identifiants centraux
  • Systèmes distribués — microservices, files de messages et architectures orientées événements utilisent les UUID pour identifier messages, transactions et identifiants de corrélation sans coordination
  • Jetons de session — les applications web utilisent des UUID pour les identifiants de session, les jetons CSRF et les clés d’accès temporaires, car leur aléa les rend difficiles à prédire
  • Identifiants de ressources d’API — les API REST exposent des UUID dans les URL (par exemple /api/users/550e8400-e29b-41d4-a716-446655440000) pour éviter l’énumération d’identifiants séquentiels
  • Stockage de fichiers et d’objets — les services de stockage cloud utilisent des UUID pour nommer blobs, fichiers et objets, afin d’éviter les collisions entre locataires
  • Identification d’appareils et de composants — Bluetooth, USB et d’autres protocoles matériels utilisent des UUID pour identifier services et caractéristiques

Outils associés

Outils associés