Aller au contenu principal

Générateur de UUID Version 5

UUIDv5 • Espace de Noms Haché SHA-1
00000000-0000-0000-0000-000000000000
Encadrer :

Génération d’UUIDs en Lot

Max 5 000
Formatage et Structure

Prêt

No batch active
Nommage DéterministeRFC 9562 Section 5.5 / RFC 4122

Spécification Technique de l’UUID Version 5 (Espace de Noms SHA-1)

L’UUIDv5 génère des identifiants reproductibles de 128 bits par hachage SHA-1 d’un UUID d’espace de noms et d’une chaîne de caractères. À entrées égales, il produit toujours le même résultat.

Structure des Bits & Format Binaire

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

ChampPlage de BitsRôle & Description
sha1_hash[0..47]48 bits (0-47)Premiers 48 bits du condensat SHA-1.
ver4 bits (48-51)Valeur constante 0101 (Version 5).
sha1_hash[52..63]12 bits (52-63)Bits 52 à 63 du condensat SHA-1.
var2 bits (64-65)Variante standard RFC 10.
sha1_hash[66..127]62 bits (66-127)Bits 66 à 127 du condensat SHA-1.

Avantages & Points forts

  • Déterministe et idempotent : même entrée donne toujours le même UUID sur n’importe quelle plateforme.
  • Résistance aux collisions très supérieure à la Version 3 (MD5).
  • Aucune coordination réseau requise entre serveurs distants.
!

Considérations & Compromis

  • Hachage à sens unique : impossible de retrouver la chaîne d’origine à partir de l’UUID généré.

Idéal pour

  • Déréférencement d’identifiants externes, adresses e-mail, domaines et déduplication de bases de données.
  • Opérations idempotentes distribuées.

À éviter pour

  • Jetons secrets ou mots de passe nécessitant une imprévisibilité totale.

Exemples d'implémentation de code

Python Standard LibraryPython
import uuid

# DNS Namespace
id = uuid.uuid5(uuid.NAMESPACE_DNS, 'bulkuuidgenerator.com')
print(id)

Foire Aux Questions

Quels espaces de noms standards existent pour l’UUIDv5 ?
La RFC 9562 définit DNS, URL, OID et X.500 comme espaces préconfigurés.
L’UUIDv5 est-il préférable à l’UUIDv3 ?
Oui, car il s’appuie sur SHA-1 (160 bits) plutôt que sur MD5 (128 bits), vulnérable aux attaques par collision.