01UUID, l'identifiant qui n'entre jamais en collision
Un UUID (Universally Unique IDentifier) est un nombre de 128 bits présenté en 36 caractères (8-4-4-4-12 hexadécimaux). Sa promesse : deux machines qui n'ont jamais communiqué peuvent générer des identifiants sans jamais se marcher dessus — l'espace est si vaste (2¹²⁸) que la collision est statistiquement impossible. Idéal pour des clés de bases de données distribuées, des noms de fichiers, des identifiants d'API.
La v4 est purement aléatoire (122 bits d'aléa) — le standard universel. La v7 (RFC 9562, 2024) commence par le timestamp en millisecondes : les identifiants se trient naturellement par date de création, ce qui rend les index de bases de données bien plus efficaces qu'avec des v4 dispersés — c'est son grand argument.
02Les versions en bref
- v4
- 122 bits aléatoires. Aucune information ne fuit, imprévisible. Le choix par défaut partout où l'ordre n'importe pas.
- v7
- 48 bits de timestamp (ms) + 74 bits d'aléa : triable chronologiquement, parfait en clé primaire. Révèle l'instant de création — rarement un problème, à savoir.
- v1
- L'ancêtre ordonné : timestamp + adresse MAC de la machine. Fuite d'identité matérielle — remplacé par la v7.
- v5 / v3
- Déterministes : dérivés d'un nom et d'un espace de noms (SHA-1 / MD5). Le même nom redonne toujours le même UUID.
- NIL / Max
- 00000000-0000-0000-0000-000000000000 et ffff…ffff : valeurs spéciales réservées, utiles comme sentinelles.
03En ligne de commande
La même URL renvoie un UUID v4 brut — de quoi dépanner un script sans dépendance :
$ curl its-my-ip.com/uuid 3d9c2f1a-8b4e-4c7d-9e2a-6f1b0c5d8e7f
04Questions fréquentes
Deux UUID v4 peuvent-ils entrer en collision ?
Avec 122 bits d'aléa, il faudrait générer environ 2,7 milliards de milliards d'UUID pour atteindre une chance sur deux de collision (paradoxe des anniversaires). En générant un million d'UUID par seconde, cela prend 86 000 ans. En pratique : non — et si votre système en voit une, cherchez un générateur aléatoire défaillant, pas la malchance.
v4 ou v7 comme clé primaire de base de données ?
v7. Les v4 s'insèrent à des positions aléatoires de l'index B-tree, ce qui fragmente les pages et sature le cache sur les grosses tables. Les v7, croissants dans le temps, s'insèrent en fin d'index comme un auto-increment — tout en restant générables par n'importe quel client sans coordination. C'est précisément pour ça que la v7 a été standardisée.
Un UUID peut-il servir de secret (jeton, lien privé) ?
Un v4 généré par un générateur cryptographique (c'est le cas ici et de crypto.randomUUID) contient 122 bits d'aléa imprévisible : c'est techniquement suffisant. Deux réserves : un v7 révèle sa date et réduit l'aléa à 74 bits ; et beaucoup de systèmes journalisent les UUID sans les considérer comme sensibles. Pour un vrai secret, préférez un jeton dédié plus long — voir notre générateur de mots de passe.
Pourquoi le 4 et le 8/9/a/b apparaissent-ils toujours aux mêmes positions ?
Ce sont les bits fixes du format : le premier chiffre du 3ᵉ groupe encode la version (4 ou 7), et le premier du 4ᵉ groupe encode la « variante » (10xx en binaire, soit 8, 9, a ou b). Un UUID v4 n'a donc pas 128 mais 122 bits d'aléa réel — largement assez.
05Autres outils
Dev & encodage
Décodeur JWTDécoder un jeton JWT et vérifier sa signature, sans rien envoyer Timestamp UnixConvertir un timestamp epoch en date et inversement, en direct Expressions cronDécoder une expression crontab et calculer les prochaines exécutions Base64Encoder et décoder du Base64 (UTF-8, URL-safe), sans rien envoyer Empreintes MD5/SHACalculer le hash d'un texte ou d'un fichier (MD5, SHA-256…), en localMon IP & réseau — BGP / RPKI · Sous-réseau · Test de port
DNS & domaines — Test DNS · Propagation DNS · Whois · Punycode / IDN
Email — Score email · Test email · En-têtes d'email · Liste noire · Générateur DMARC · Clé DKIM
Web & SEO — Audit de page · En-têtes HTTP · En-têtes sécurité · Aperçu de partage · Test robots.txt · Certificats TLS · Redirections · Site en panne ? · User-Agent
Confidentialité & mots de passe — Fuite WebRTC · Mots de passe · Fuite de mot de passe