Code

Guide du générateur d’UUID : v4, v7, espaces de noms et formats GUID

ToolMellow ·

Un UUID est un identifiant de 128 bits avec des conventions définies de version et de variante. ToolMellow génère v1, v3, v4, v5, v6 et v7, ainsi que les constantes Nil et Max. Choisissez Version d’UUID et Format d’UUID, configurez le lot ou les noms, puis appuyez sur Générer des UUID. La génération s’exécute localement dans un worker du navigateur.

Les versions répondent à des besoins différents : identifiants aléatoires, orientés vers le temps ou reproductibles à partir d’un espace de noms et d’un nom. Ce guide décrit les options et leurs limites. Un UUID n’est pas automatiquement un jeton d’autorisation, un mot de passe, une valeur unique vérifiée mondialement ou une preuve de l’heure réelle d’un événement. Les exemples sont des illustrations fixes, pas de nouveaux identifiants attribués à la production.

Générateur d’UUID

Générer un UUID ou un lot

Ouvrez le générateur d’UUID, choisissez Version d’UUID et Format d’UUID et activez éventuellement UUID en majuscules ou Sortie en tableau JSON. La version par défaut est v4. Pour les modes aléatoires, temporels, Nil ou Max, choisissez une Quantité entière de 1 à 1000. Pour v3 ou v5, saisissez des noms et choisissez un espace de noms ; Quantité ne contrôle pas cette sortie.

Appuyez sur Générer des UUID et vérifiez version, représentation et valeurs avant de copier ou télécharger. Modifier l’entrée ou une option invalide l’ancien résultat. Retour à la ligne ne change que l’affichage. Ce générateur ne propose pas Utiliser le résultat comme entrée ; copiez les valeurs manuellement si une autre application en a besoin.

  • Utilisez la version attendue par votre application plutôt que de changer parce qu’une autre sortie vous plaît davantage.
  • Documentez l’espace et les règles de représentation du nom lorsque la répétabilité compte.
  • Conservez les conditions de format et d’horloge pour les identifiants temporels ; un UUID n’est pas une décision d’authentification.

Choisir entre v1, v3, v4, v5, v6 et v7

RFC 9562 est la norme UUID actuelle et remplace RFC 4122. ToolMellow propose les six versions du tableau et deux constantes spéciales. Il ne génère pas la version 2 ou des structures personnalisées de version 8. Modifier le format textuel ne change pas la version ni les bits de l’identifiant.

La version décrit une construction, pas une promesse d’unicité mondiale, de secret ou de compatibilité universelle. Une base de données ou un protocole peut imposer ses propres versions et représentations. Cette page génère des identifiants ; elle ne consulte pas un registre, ne se connecte pas à une base de données et ne mesure pas les performances d’indexation.

Choisir entre v1, v3, v4, v5, v6 et v7
ModeConstruction dans cet outilLimite utile
v4Aléatoire cryptographiqueIdentifiant aléatoire, pas un horodatage ni un système de jetons secrets automatique
v7Temps Unix et champs de compteur/aléatoire de bibliothèqueOrienté temps ; ordre limité par horloge et worker
v1Horodatage grégorien, séquence d’horloge et nœud aléatoireExpose le temps ; ne lit pas la MAC du dispositif
v6Horodatage grégorien réordonné, nœud/séquence aléatoiresChamp temporel placé plus tôt dans l’identifiant qu’en v1 ; règles de stockage toujours pertinentes
v5Espace et nom UTF-8 exact via SHA-1Déterministe, pas une authentification avec clé
v3Espace et nom UTF-8 exact via MD5Construction déterministe historique, pas stockage de mots de passe
NilUUID fixe dont tous les bits sont nulsConstante répétée, pas une nouvelle attribution unique
MaxUUID fixe dont tous les bits valent unConstante répétée, pas une nouvelle attribution unique

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’état

Structure UUID, version, variante et terme GUID

Un UUID textuel standard comporte 32 caractères hexadécimaux et quatre tirets : des groupes 8-4-4-4-12, soit 36 caractères. Pour les versions ordinaires générées ici, le premier caractère hexadécimal du troisième groupe indique la version. Les bits de variante influencent le début du quatrième groupe, généralement 8, 9, a ou b. Nil et Max sont des exceptions, pas des demandes de génération ordinaire de v0 ou v15.

GUID désigne couramment un identifiant de type UUID. L’option Accolades · GUID ajoute des accolades au texte ; elle ne produit pas une structure binaire Windows et ne change pas l’ordre des octets. Les majuscules modifient seulement la présentation des lettres hexadécimales. Une chaîne à la syntaxe plausible ne prouve pas son auteur et n’autorise aucun accès.

RFC 9562 : UUID, structures, espaces de noms et exemples

UUID v4 : identifiants aléatoires et limites de collision

Un UUID v4 ordinaire réserve des bits pour la version et la variante et utilise l’aléatoire pour les 122 autres bits. L’outil exige des valeurs aléatoires cryptographiques pour ses modes aléatoires et temporels. La bibliothèque peut employer crypto.randomUUID natif pour v4 s’il est disponible, ou son générateur de valeurs aléatoires cryptographiques sinon. Aucun repli vers Math.random n’est prévu.

La génération aléatoire rend les collisions accidentelles peu probables sous des hypothèses adaptées, sans garantir que chaque identifiant soit inutilisé dans le monde. L’outil ne recherche pas les doublons à l’extérieur. Si l’unicité est essentielle, appliquez les règles réelles d’attribution et de stockage de l’application plutôt que de considérer une valeur du navigateur comme une réservation mondiale.

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’étatAPI Web Cryptography du W3C : valeurs aléatoires cryptographiques

Champs temporels, horloge du dispositif et ordre des lots

v1 et v6 utilisent des structures d’horodatage grégorien exprimées en unités de 100 nanosecondes ; v6 réordonne les champs. Cette implémentation s’appuie sur une horloge de dispositif en millisecondes : l’unité du format ne prouve pas une précision de mesure de 100 nanosecondes. v7 commence par les millisecondes Unix et combine des champs de séquence/compteur et aléatoires gérés par la bibliothèque ; les bits restants ne sont pas tous aléatoires indépendants ici.

La bibliothèque gère l’état horloge/compteur dans le travail du worker, y compris les valeurs répétées ou les reculs d’horloge en v7. Chaque génération utilise un nouveau worker ; cet état n’est pas partagé entre clics, onglets ou appareils. Un horodatage décodé peut refléter la gestion de la bibliothèque plutôt qu’une horloge faisant autorité. Il n’y a pas de garantie d’ordre monotone entre lots ou distribué ; les valeurs d’horloge hors plage sont rejetées.

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’étatWHATWG HTML : workers et leur cycle de vie

Ce que les UUID peuvent révéler sur le temps et l’identité

v1, v6 et v7 exposent des informations temporelles. Ici, v1 et v6 utilisent des champs de nœud aléatoires sans lire l’adresse MAC de votre adaptateur réseau. Cela distingue cette implémentation d’autres utilisant une source de nœud différente. Les valeurs temporelles ne deviennent pas anonymes pour autant.

v4 n’a pas de champ défini d’heure de création ; v3 et v5 peuvent révéler des liens par la répétition d’entrées espace/nom ou par des essais de candidats. Aucune valeur ne prouve automatiquement identité, secret ou propriété. Évitez les vrais noms sensibles dans les exemples partagés et concevez l’autorisation indépendamment du format d’identifiant.

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’état

v3 et v5 fondés sur les noms : lignes littérales et répétabilité

Pour v3 ou v5, chaque ligne séparée par CRLF, CR ou LF est un nom. Lignes vides, noms vides finaux, espaces, casse et doublons sont conservés. Un éditeur vide produit donc l’UUID d’un seul nom vide, pas un lot sans élément. Quantité ne contrôle pas ces modes ; la limite est de 1000 lignes et 1000000 unités UTF-16 en entrée.

La même version, le même espace et le même nom UTF-8 exact reproduisent le même UUID. L’outil rejette les substituts isolés et ne normalise pas Unicode ni ne retire les espaces d’un nom. Des formes normalisées visuellement semblables ou un espace final peuvent changer les octets. MD5 et SHA-1 réalisent ici des constructions UUID standardisées ; ce ne sont ni des hachages de mots de passe, ni du chiffrement, ni une authentification avec clé.

RFC 9562 : UUID, structures, espaces de noms et exemplesWHATWG Encoding : UTF-8 et décodage de texteECMAScript : isWellFormed de Stringuuid.js 14.0.2 : API de génération UUID et gestion d’état

Espaces DNS, URL, OID, X.500 et personnalisés

Espace de noms choisit une valeur UUID associée à chaque nom. DNS est la valeur par défaut ; URL, OID et X.500 fournissent les autres constantes du tableau. L’étiquette ne résout pas DNS, ne récupère pas une URL, ne normalise pas un domaine, ne valide pas un OID et n’analyse pas un nom distinctif X.500. L’outil transmet le texte UTF-8 littéral à la construction choisie ; suivez les règles de représentation supplémentaires de votre application.

UUID personnalisé exige un UUID d’espace valide, standard et avec tirets. L’hexadécimal en majuscules est accepté, et la bibliothèque accepte aussi Nil et Max comme espaces. Ce champ n’accepte pas les formes compactes, avec accolades ou URN. Effacer remet l’espace personnalisé à la sélection DNS ; cela ne change pas les valeurs déjà téléchargées.

Espaces DNS, URL, OID, X.500 et personnalisés
PréréglageUUID de l’espace de noms
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-9dad-11d1-80b4-00c04fd430c8

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’état

Exemples connus avec l’espace DNS

Avec DNS et le nom exact www.example.com, les valeurs standard en minuscules du tableau reproduisent les exemples fondés sur les noms du RFC. Choisir DNS ne lance pas de recherche réseau. Un domaine en majuscules n’est pas silencieusement mis en minuscules ; c’est une autre entrée littérale.

Utilisez ces exemples fixes pour vérifier version et espace avant d’examiner votre convention de noms réelle. Les lignes répétées produisent des valeurs répétées en v3/v5. Ce résultat déterministe sert la convention convenue, sans prouver une résistance aux collisions pour tout usage ni certifier la propriété du nom.

Exemples connus avec l’espace DNS
VersionNom exactSortie standard
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562 : UUID, structures, espaces de noms et exemples

Sorties standard, compacte, avec accolades, URN et JSON

Le sélecteur change la représentation, pas les bits UUID. Le tableau présente une valeur v5 fixe dans quatre formats. UUID en majuscules change ses lettres hexadécimales, tandis que le préfixe URN reste urn:uuid:. Vérifiez que le destinataire accepte l’écriture choisie ; le formateur n’effectue ni sérialisation GUID binaire ni conversion de base de données.

Sortie en tableau JSON crée un tableau indenté de chaînes au format choisi ; sinon les valeurs sont séparées par des sauts de ligne. Télécharger enregistre toolmellow-result.json si JSON est sélectionné, ou toolmellow-result.txt sinon. Les deux sont des téléchargements de texte UTF-8. Modifier une option invalide l’ancien résultat : générez-en un nouveau après le choix du format.

Sorties standard, compacte, avec accolades, URN et JSON
FormatCaractères par valeurExemple
Standard362ed6657d-e927-568b-95e1-2665a8aea6a2
Compact322ed6657de927568b95e12665a8aea6a2
Accolades · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562 : UUID, structures, espaces de noms et exemplesuuid.js 14.0.2 : API de génération UUID et gestion d’état

Nil, Max et ce que la validation ne prouve pas

Nil vaut 00000000-0000-0000-0000-000000000000 ; Max vaut ffffffff-ffff-ffff-ffff-ffffffffffff. Ce sont des constantes spéciales. Une Quantité de deux produit la même constante deux fois, pas deux nouveaux identifiants uniques. Il ne faut pas les confondre avec une valeur aléatoire ou une version ordinaire générée.

Une syntaxe UUID valide ou un motif de version/variante correct ne prouve pas que la valeur est libre, secrète, attribuée par une personne autorisée ou sûre comme capacité d’accès à un compte. Les valeurs fondées sur les noms sont prévisibles avec leurs entrées ; les temporelles révèlent le temps. Il n’y a ni registre d’unicité, ni cycle de vie de jetons, ni signature numérique, ni service d’authentification UUID.

RFC 9562 : UUID, structures, espaces de noms et exemples

Limites, capacités du navigateur et dépannage

Pour les modes aléatoires/temporels/Nil/Max, Quantité doit être un entier de 1 à 1000. Les modes de noms limitent séparément les lignes et l’entrée totale à un million d’unités UTF-16. L’importation locale rejette les fichiers de 4000000 octets ou plus et le texte dépassant le plafond. File.text() supprime un BOM UTF-8 initial et remplace les séquences mal formées ; l’édition peut affecter les fins de ligne. Le texte importé n’est pas une source de noms conservant les octets bruts.

Les modes aléatoires/temporels exigent crypto.getRandomValues. randomUUID natif nécessite un contexte sécurisé, mais la bibliothèque peut utiliser des valeurs aléatoires cryptographiques sans lui ; les modes de noms et constants n’exigent ni aléatoire ni crypto.subtle. N’appliquez pas la condition générale de l’outil SHA à tous les UUID. La disponibilité des workers, le navigateur et les restrictions de plateforme peuvent encore empêcher la génération.

Limites, capacités du navigateur et dépannage
SymptômeProchaine vérification
Espace invalideUtilisez un UUID valide de 36 caractères avec tirets dans le champ personnalisé
v3/v5 répété de façon inattendueVérifiez doublons, noms vides et même espace/nom exact
Mauvais nombre de résultats nommésChaque ligne est un nom ; une fin de ligne finale ajoute un nom vide
Erreur d’aléatoire ou d’horlogeVérifiez la capacité requise ou l’horloge réelle
Résultat inattendu après importationVérifiez BOM retiré, remplacement UTF-8, séparateurs et octets des noms

API Web Cryptography du W3C : valeurs aléatoires cryptographiquesuuid.js 14.0.2 : API de génération UUID et gestion d’étatAPI File du W3C : lecture de Blob comme texteWHATWG Encoding : UTF-8 et décodage de texteWHATWG HTML : workers et leur cycle de vie

Effacer, générer localement et requêtes du site

Effacer supprime noms/entrée, résultat, erreurs et historique et remet l’espace personnalisé à DNS. Les choix Version d’UUID, Quantité, Format d’UUID, majuscules, JSON et Retour à la ligne restent. Actualiser ou fermer abandonne les entrées/résultats en mémoire. Les téléchargements restent sur l’appareil, et Effacer ne promet pas un effacement forensique de la mémoire du navigateur ou du système.

La génération ne téléverse pas noms, fichiers sélectionnés ou UUID vers un serveur de génération ou registre d’attribution. Charger le site transmet encore les métadonnées ordinaires à l’hébergement ; le site public utilise Google Analytics pour les visites avec cookies et informations sur le navigateur et l’appareil. La génération locale n’implique ni anonymat, ni absence de requêtes réseau, ni absence de journaux d’infrastructure.

Intégrer le générateur d’UUID avec son lien d’attribution

Choisissez la langue et utilisez l’intégration sous l’espace de travail pour copier ou télécharger le code HTML fourni. Collez-le dans une plateforme autorisant l’iframe externe et le script d’ajustement de taille. Il comporte un lien visible vers la page UUID de ToolMellow dans la même langue ; conservez cette attribution.

Prévisualisez sur un écran étroit et vérifiez presse-papiers et worker pour le mode choisi. L’intégration conserve versions, limites et frontières d’état local ; elle ne devient ni API distante d’identifiants ni service d’unicité partagé. Le lien utilise nofollow et noopener ; sa présence ne garantit pas un meilleur classement.

Questions fréquentes

Comment générer un UUID ?

Choisissez Version d’UUID et Format d’UUID, réglez Quantité pour les modes aléatoires/temporels/fixes ou l’espace et les noms pour v3/v5, puis appuyez sur Générer des UUID. Copiez ou téléchargez le texte ou JSON. v4 est le défaut.

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

v4 utilise l’aléatoire cryptographique avec les bits de version/variante. v7 contient les millisecondes Unix et les champs compteur/aléatoires de la bibliothèque. Il est orienté temps, sans garantir une horloge faisant autorité ou l’ordre entre exécutions, onglets ou appareils.

Les UUID sont-ils toujours uniques ?

Aucune garantie mondiale ni vérification externe d’attribution n’est faite. Les collisions aléatoires sont peu probables sous des hypothèses adaptées. Les noms dupliqués se répètent et Nil/Max sont constants. Appliquez les règles d’unicité de l’application.

Pourquoi UUID v5 répète-t-il la même valeur ?

La même version, le même espace et le même nom UTF-8 exact reproduisent l’UUID. Les noms vides ou dupliqués restent des lignes séparées et peuvent répéter les valeurs. L’opération ne choisit pas un identifiant aléatoire neuf pour chaque répétition.

Quantité contrôle-t-elle les lots UUID v3 ou v5 ?

Non. Chaque ligne séparée par CRLF, CR ou LF est un nom, y compris les lignes vides et le dernier nom vide. Les lots nommés acceptent jusqu’à 1000 lignes et un million d’unités UTF-16.

Que font les choix DNS et URL ?

Ils choisissent des UUID d’espace prédéfinis pour les octets de noms littéraux. Ils ne consultent pas DNS, ne récupèrent pas une URL, ne normalisent pas la casse d’un domaine et ne valident pas une adresse complète. Suivez la convention de votre application.

UUID v1 révèle-t-il mon adresse MAC ici ?

Cette implémentation utilise des nœuds aléatoires pour v1/v6, jamais la MAC du dispositif. Elle expose encore des informations temporelles. D’autres implémentations peuvent choisir d’autres sources ; ce n’est pas une garantie d’anonymat.

Les UUID v7 sont-ils garantis dans l’ordre temporel ?

La bibliothèque gère temps et compteur dans le worker de génération. Chaque exécution a un worker neuf, sans garantie d’ordre distribué ou entre lots. Les erreurs d’horloge ou sa gestion des reculs peuvent affecter l’information temporelle.

Quelle est la différence entre formats UUID et GUID ?

GUID est un terme courant lié à UUID. L’option d’accolades entoure uniquement le texte UUID. Standard, compact, accolades et URN représentent les mêmes bits ; ils ne convertissent pas vers une structure binaire Windows.

Nil et Max sont-ils de nouvelles valeurs uniques ?

Non. Tous les bits de Nil valent zéro, ceux de Max un. Ces constantes se répètent si vous en générez plusieurs. Ce ne sont pas des modes aléatoires ordinaires v0/v15.

Faut-il toujours HTTPS et le hachage Web Crypto pour générer un UUID ?

Non. Les modes aléatoires/temporels exigent des valeurs aléatoires cryptographiques ; v4 peut utiliser la bibliothèque si randomUUID natif est indisponible. v3/v5 utilisent son hachage de noms et Nil/Max sont constants. Tous n’exigent pas crypto.subtle ni le même chemin de capacité.

Un UUID est-il automatiquement un mot de passe ou jeton secret ?

Sa syntaxe ne prouve ni secret, ni autorisation, ni cycle de vie complet de jeton. Les modes noms/temps/constants ont une structure prévisible ou exposée. Concevez authentification et stockage pour l’application plutôt que de considérer tous les UUID comme secrets.

Que réinitialise Effacer ?

Il supprime entrée, sortie, erreurs et historique et remet l’espace personnalisé à DNS. Il conserve version, Quantité, format, majuscules, JSON et Retour à la ligne. Les fichiers téléchargés restent sur votre appareil.

Puis-je intégrer ce générateur d’UUID sur mon site ?

Utilisez son code HTML localisé sous l’espace de travail, conservez le lien visible vers ToolMellow et vérifiez iframe/script/presse-papiers/worker. L’intégration a les mêmes modes et limites ; ce n’est pas une API distante d’attribution ou d’unicité.

Sources et lectures complémentaires

Passez à la pratique.