Tout ce que Vous Devez Savoir sur les UUID et GUID
Un aperçu technique complet des identifiants 128 bits, des normes RFC, des formats, de l’indexation en base de données et de la cryptographie côté client.
Qu’est-ce qu’un UUID ?
Un Identifiant Universel Unique (UUID) est une étiquette numérique de 128 bits standardisée par l’Open Software Foundation (OSF) et formalisée sous les normes IETF RFC 4122 et RFC 9562. Avec 3,4 × 10³⁸ combinaisons uniques, les systèmes distribués, microservices et applications mobiles peuvent générer des identifiants de manière autonome sans serveur central.
Versions d’UUID et Options de Formatage
Les UUID standards sont formatés sous forme de 32 caractères hexadécimaux séparés par quatre tirets (modèle 8-4-4-4-12, 36 caractères au total). L’UUID v4 fournit 122 bits d’entropie pseudo-aléatoire. L’UUID v7 introduit un horodatage Unix en millisecondes de 48 bits pour un tri chronologique. Notre outil prend également en charge les formats sans tiret (32 caractères hex), en majuscules, {GUID} et tableaux JSON.
UUID vs GUID : Normes et Interopérabilité
Un Identifiant Global Unique (GUID) est l’implémentation historique de Microsoft pour l’UUID standard. Dans le développement moderne (.NET, C#, Python, Java, Go, Rust, PostgreSQL), GUID et UUID désignent la même structure binaire de 128 bits. Les deux respectent les spécifications RFC 4122 / RFC 9562 et sont interchangeables sans perte de données.
Cas d’Usage en Ingénierie Logicielle et Bases de Données
Les UUID sont essentiels dans l’ingénierie logicielle : clés primaires de base de données (PostgreSQL UUID, MySQL BINARY(16), SQLite), flux d’événements distribués (Kafka, RabbitMQ), identifiants de ressources d’API REST et GraphQL, jetons d’idempotence de paiement (Stripe) et synchronisation mobile hors ligne.
Génération Sécurisée Côté Client et Confidentialité
FastUUIDGenerator génère tous les identifiants à 100% localement dans votre navigateur grâce à l’API Web Cryptography native (crypto.getRandomValues). L’entropie du système d’exploitation (/dev/urandom, BCryptGenRandom) garantit une imprévisibilité cryptographique totale. Aucun identifiant n’est transmis sur le réseau.
Validation, Décodage et Génération en Masse
En plus de la génération simple, notre suite comprend un Validateur d’UUID pour vérifier la syntaxe RFC, un Décodeur UUID v7/v1 pour extraire les horodatages UTC et séquences d’horloge, un générateur de GUID Microsoft et un Générateur en Masse capable de produire jusqu’à 10 000 UUID avec téléchargements instantanés en CSV, JSON et TXT.
Foire Aux Questions (FAQ)
Clear, concise answers to the most common questions about UUID generation, formats, and standards.
Un UUID canonique standard (RFC 4122/9562) comprend 32 chiffres hexadécimaux séparés par 4 tirets selon le modèle 8-4-4-4-12 (ex. 550e8400-e29b-41d4-a716-446655440000), pour un total de 36 caractères. En binaire brut, il occupe 16 octets (128 bits).
Un générateur d’UUID est un outil, une bibliothèque logicielle ou une fonction cryptographique qui crée des identifiants universels uniques de 128 bits à l’aide de générateurs de nombres pseudo-aléatoires sécurisés (CSPRNG pour l’UUID v4) ou de séquences chronologiques (pour l’UUID v7).
Sur Windows, trouvez l’UUID matériel en exécutant "wmic csproduct get uuid" dans l’invite de commandes ou "Get-CimInstance Win32_ComputerSystemProduct" dans PowerShell. Sur Linux, consultez "/sys/class/dmi/id/product_uuid". Sur macOS, lancez "system_profiler SPHardwareDataType". Dans les applications, les UUID sont assignés aux enregistrements de bases de données et aux ressources d’API.
Vous pouvez créer un UUID instantanément en ligne avec FastUUIDGenerator, ou par programmation : en JavaScript avec crypto.randomUUID(), en Python avec uuid.uuid4(), en Java avec UUID.randomUUID(), en C# via Guid.NewGuid(), ou en PostgreSQL avec gen_random_uuid().
Un UUID standard comporte 32 caractères hexadécimaux (0-9, a-f) et 4 tirets correspondant au format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Le 13e caractère (M) indique la version (ex. 4 pour aléatoire, 7 pour chronologique) et le 17e caractère (N) indique la variante RFC (8, 9, a ou b).
En pratique, non. Avec 128 bits offrant 3,4 × 10³⁸ combinaisons, générer 1 milliard d’UUID v4 par seconde pendant 73 ans ne donne que 50 % de chances d’obtenir un seul doublon. Dans les systèmes distribués, une collision accidentelle est mathématiquement négligeable.
Un ID traditionnel est généralement un entier séquentiel auto-incrémenté (1, 2, 3...) géré par une base centrale. Un UUID est un identifiant global de 128 bits pouvant être généré de façon autonome par des serveurs distribués et des applications hors ligne sans risque de collision.
UUID signifie Universally Unique Identifier (Identifiant Universel Unique). C’est une valeur numérique standard de 128 bits définie par l’IETF RFC 4122 et RFC 9562 conçue pour garantir une identification non ambiguë et universelle sans autorité centrale d’enregistrement.
Les UUID sont indispensables dans les architectures distribuées et microservices où de multiples nœuds génèrent des identifiants en continu sans verrouiller la base de données. Ils évitent les collisions lors des fusions, éliminent les attaques par énumération et facilitent le fonctionnement hors ligne.
Oui. Les UUID v4 et v7 générés avec un CSPRNG sont protégés contre les collisions et les prédictions. Cependant, l’ancien UUID v1 encode l’adresse MAC du matériel (révélant l’identité de la machine), c’est pourquoi les systèmes modernes utilisent v4 ou v7. Les UUID ne doivent pas servir de mots de passe secrets dans les URL publiques.
Utilisez les UUID comme clés primaires dans les bases de données (PostgreSQL UUID, MySQL BINARY(16)), identifiants de ressources dans les API REST/GraphQL (ex. /api/commandes/550e8400-e29b-41d4-a716-446655440000), jetons de session et clés d’idempotence de paiement (Stripe).
Oui. Vous pouvez coller n’importe quel UUID dans notre Décodeur d’UUID gratuit pour extraire immédiatement la version, la variante RFC, les octets bruts et l’horodatage précis (s’il s’agit d’un UUID v1, v6 ou v7).
Oui. FastUUIDGenerator s’exécute à 100% dans votre navigateur via la Web Cryptography API native (crypto.getRandomValues). Aucune donnée générée n’est transmise sur Internet.
Un UUID de 128 bits se convertit en grand entier non signé en retirant les tirets et en analysant la chaîne hexadécimale en base 16. En JavaScript, utilisez BigInt("0x" + uuid.replace(/-/g, "")). En Python, utilisez int(uuid.UUID(str_uuid)). La valeur varie de 0 à 2¹²⁸-1 (jusqu’à 3,4 × 10³⁸).