Aller au contenu principal

Générateur de UUID Version 4

UUIDv4 • Aléatoire Cryptographique
00000000-0000-0000-0000-000000000000
Encadrer :

Génération d’UUIDs en Lot

Max 5 000
Formatage et Structure

Prêt

No batch active
Standard de RéférenceRFC 9562 Section 5.4 / RFC 4122

Spécification Technique de l’UUID Version 4 (RFC 4122 & RFC 9562)

L’UUIDv4 est la version d’identifiant la plus répandue au monde. Sur ses 128 bits, 122 bits sont générés à partir d’une source d’entropie cryptographiquement sûre, 6 bits étant réservés pour la version (0100) et la variante (10xx).

Structure des Bits & Format Binaire

Répartition détaillée des 128 bits selon les standards RFC.

ChampPlage de BitsRôle & Description
random_hi48 bits (0-47)Entropie aléatoire cryptographiquement sûre.
ver4 bits (48-51)Valeur binaire constante 0100 (identifie la Version 4).
random_mid12 bits (52-63)Entropie aléatoire cryptographiquement sûre.
var2 bits (64-65)Valeur binaire constante 10 (variante standard RFC).
random_lo62 bits (66-127)Entropie aléatoire cryptographiquement sûre.

Avantages & Points forts

  • Confidentialité totale : ne divulgue aucun horodatage, adresse MAC ni information sur le système émetteur.
  • Prise en charge universelle dans tous les langages de programmation et moteurs SQL.
  • Totalement imprévisible, protégeant contre les attaques par énumération IDOR.
!

Considérations & Compromis

  • Dégradation des index B-Tree en base de données due aux écritures aléatoires.
  • Impossible à trier par ordre chronologique sans champ created_at dédié.

Idéal pour

  • Jetons d’API, clés de session, liens de réinitialisation de mot de passe et codes OAuth.
  • Identifiants opaques exposés aux utilisateurs finaux.
  • Caches distribués (Redis, Memcached) et clés non indexées.

À éviter pour

  • Clés primaires à fort volume d’écriture dans des index B-Tree (préférez UUIDv7).
  • Tables nécessitant un classement lexicographique naturel.

Exemples d'implémentation de code

Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"
Python Standard LibraryPython
import uuid

id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"
Go (google/uuid)Go
package main

import (
  "fmt"
  "github.com/google/uuid"
)

func main() {
  id := uuid.New()
  fmt.Println(id.String())
}

Foire Aux Questions

Combien d’UUIDv4 uniques existe-t-il ?
Avec 122 bits d’entropie (environ 5,3 × 10³⁶ combinaisons), la probabilité d’une collision est inférieure à une sur un milliard après avoir généré un milliard d’identifiants par seconde pendant 85 ans.
Ce générateur utilise-t-il Math.random() ?
Non. Il utilise exclusivement l’API Web Crypto (crypto.getRandomValues), qui tire son entropie du CSPRNG du noyau du système d’exploitation.