Générateur d'UUID
Générez des UUID de version 4 ou 7 dans votre navigateur, un par un ou cent d'un coup.
Fonctionne entièrement dans votre navigateur. Rien n'est envoyé, journalisé ni conservé.
Un UUID est un identifiant de 128 bits que vous pouvez générer n'importe où, sans rien demander à une autorité centrale, tout en le supposant unique. Deux versions sont proposées ici, car elles résolvent des problèmes différents.
Comment ça marche
La version 4, ce sont 122 bits aléatoires, six bits étant fixés pour marquer la version et la variante. Elle ne porte aucune information, ce qui est exactement souhaitable pour un identifiant public et exactement ce qui en fait une mauvaise clé primaire groupée : des insertions consécutives atterrissent à des endroits sans rapport dans l'index.
La version 7, normalisée par la RFC 9562, place un horodatage de 48 bits en millisecondes devant 74 bits aléatoires. Les valeurs générées plus tard se trient après les précédentes : les insertions restent en fin d'index et les requêtes par intervalle de temps fonctionnent. En contrepartie, l'identifiant révèle sa date de création.
Les bits aléatoires proviennent du générateur cryptographique de votre navigateur, la même source que celle utilisée pour les clés, et non de Math.random.
Questions fréquentes
v4 ou v7 ?
v7 pour une clé primaire de base de données, où l'ordre garde l'index en bonne santé. v4 quand l'identifiant est exposé et ne doit pas révéler une date de création, ou quand l'ordre permettrait de déduire combien d'enregistrements vous créez par heure.
Deux UUID peuvent-ils entrer en collision ?
En principe oui, en pratique non pour la v4 : avec 122 bits aléatoires, il faudrait en générer des milliards par seconde pendant un siècle pour qu'une collision devienne probable. Le vrai risque est une source aléatoire faible, d'où l'usage de la source cryptographique.
Et la v1 ?
La version 1 embarque l'adresse MAC de la machine qui l'a générée, ce qui divulgue l'identité du matériel. La v7 offre le même ordre temporel sans cet inconvénient : c'est son remplacement moderne.
Bon à savoir
- Les valeurs sont générées dans votre navigateur et ne sont jamais envoyées.
- Cet outil n'est pas déterministe : recharger la page donne de nouveaux identifiants, et c'est bien le but.