Aller au contenu principal
PulsarKit

Générateur de UUID

Générez des UUID v4, v7 et v1 par lot, jusqu’à 10 000 à la fois, ou décodez un identifiant existant pour en voir la version, la variante et l’horodatage.

Comment générer un UUID

  1. 1

    Choisir la version de UUID

    Choisissez v4 pour un aléa pur, v7 si vous voulez des identifiants qui se trient dans l’ordre de création, ou v1 pour la disposition classique basée sur le temps. NIL et MAX fournissent les deux valeurs constantes réservées.

  2. 2

    Définir la quantité et le format

    Générez jusqu’à 10 000 UUID à la fois. Choisissez majuscules ou minuscules, conservez ou non les tirets, et encadrez chaque valeur par des guillemets, des accolades ou un préfixe urn:uuid: pour la coller directement dans du code.

  3. 3

    Copier la liste ou la télécharger

    Copiez toutes les valeurs générées dans le presse-papiers en un clic, ou téléchargez le lot sous forme de fichier texte brut ou de CSV. Les lots v1 et v7 incluent une colonne d’horodatage.

Pourquoi v7 remplace v4 pour les clés de base de données

Un UUID v4, ce sont 122 bits d’aléa pur. Un lot inséré dans un index de base de données arrive donc dans un ordre totalement imprévisible, ce qui disperse les écritures dans l’index et dégrade les performances à grande échelle. Un UUID v7 commence par un horodatage sur 48 bits en millisecondes, ainsi les identifiants générés plus tard se trient toujours après ceux générés plus tôt. Vous obtenez la localité d’écriture d’un entier auto-incrémenté tout en gardant la résistance aux collisions et la génération décentralisée d’un UUID. Cet outil rend les lots v7 monotones même au sein de la même milliseconde en utilisant les bits de poids fort de la partie aléatoire comme compteur.

Pourquoi v1 ici ne contient jamais d’adresse MAC

La définition originale de 1993 de UUID v1 construisait les 48 bits de fin à partir de l’adresse MAC de la carte réseau, en partant du principe qu’aucun ordinateur ne partage la même. Dans un navigateur cette adresse n’est pas disponible, et même là où elle l’est, intégrer une vraie adresse MAC dans chaque ligne de base de données crée par principe une fuite de pistage d’appareil. Ce générateur remplit toujours ces 48 bits avec des octets aléatoires et active le bit multicast, exactement comme le permet la RFC 9562. L’avantage d’un v1 trié par horodatage est conservé sans exposer d’identifiant matériel.

Chaque identifiant est généré localement

La génération, le formatage et le décodage s’exécutent tous dans cet onglet en utilisant l’API Web Crypto. Rien n’est envoyé à un serveur et rien n’est écrit dans le stockage du navigateur. Un événement générique « bouton pressé » avec la version et le nombre, jamais les identifiants eux-mêmes, est transmis aux mesures d’audience.

Questions fréquentes

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

v4, ce sont 122 bits d’aléa pur sans aucune structure. v7 consacre ses 48 premiers bits à un horodatage en millisecondes, ainsi un lot de valeurs v7 se trie dans l’ordre de création. C’est utile comme clé primaire de base de données, tout en gardant assez d’aléa pour éviter les collisions.

Quand utiliser v7 plutôt que v4 pour les clés de base de données ?

Utilisez v7 dès que l’identifiant devient une clé primaire ou une colonne d’index : son ordre temporel garde les nouvelles lignes physiquement proches dans l’index, ce qui se mesure en insertions plus rapides qu’avec la dispersion aléatoire d’une clé v4. Utilisez v4 quand la valeur ne touche jamais un index, par exemple un jeton ponctuel.

Pourquoi la version v1 ici ne contient-elle pas d’adresse MAC ?

Les navigateurs ne peuvent pas lire l’adresse MAC d’un appareil, et même en dehors du navigateur, en intégrer une dans chaque identifiant généré révélerait quelle machine physique l’a créé. Cet outil remplit donc cette partie d’un UUID v1 avec des octets aléatoires, ce que la RFC 9562 autorise explicitement.

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

Pour v4, générer un milliard d’UUID par seconde pendant environ 85 ans donne environ 50 % de chances d’une seule collision. En pratique cela n’arrive pas. v7 et v1 ajoutent un horodatage par-dessus l’aléa, ce qui rend les collisions accidentelles encore moins probables.

Puis-je utiliser un UUID comme mot de passe ou jeton d’accès ?

Ce n’est pas une bonne idée. Un UUID v4 contient un aléa significatif, mais son format est prévisible et les outils s’attendent à ce qu’il ait l’air public, contrairement à un jeton fait pour rester secret. Utilisez le générateur de mots de passe dédié pour tout ce qui doit rester confidentiel.

À quoi servent les UUID NIL et MAX ?

NIL (tout à zéro) est la valeur réservée qui signifie « aucun identifiant » ou « non défini » dans de nombreux systèmes. MAX (tout à un), défini plus récemment, sert de sentinelle « plus grand que tout UUID réel » dans les requêtes par plage. Aucun des deux n’est généré aléatoirement, ce sont des constantes fixes.

D’où vient l’aléa utilisé ?

De crypto.getRandomValues de l’API Web Crypto, et de crypto.randomUUID directement pour v4 quand le navigateur le prend en charge. Math.random n’est jamais utilisé dans cet outil.

Décoder un UUID l’envoie-t-il quelque part ?

Non. Le décodeur lit le nibble de version, les bits de variante et, pour v1 et v7, l’horodatage intégré entièrement dans votre navigateur. La valeur que vous collez ne quitte jamais la page.

Outils associés