← retour aux snippets

uuid: v4 aléatoire et v5 déterministe

Générer des UUIDs uniques ou dérivés d'un nom (namespace).

python uuid #uuid#uuid4#uuid5

objectif

Générer des UUIDs uniques ou dérivés d’un nom (namespace).

code minimal

import uuid
u4 = uuid.uuid4()
u5 = uuid.uuid5(uuid.NAMESPACE_URL, "https://data.pm/item/42")
print(u4.version == 4 and u5.version == 5)  # attendu: True

utilisation

import uuid
print(isinstance(uuid.uuid4().hex, str))

variante(s) utile(s)

import uuid
a = uuid.uuid5(uuid.NAMESPACE_DNS, "data.pm")
b = uuid.uuid5(uuid.NAMESPACE_DNS, "data.pm")
print(a == b)  # déterministe

notes

  • uuid4 est aléatoire; uuid5 est stable pour la même entrée.
  • Évitez d’encoder des infos sensibles dans un uuid5 public.