← retour aux snippets

secrets: randbelow et choix sécurisé

Tirer des entiers/éléments de manière cryptographiquement sûre.

python security #secrets#random#choice

objectif

Tirer des entiers/éléments de manière cryptographiquement sûre.

code minimal

import secrets
x = secrets.randbelow(10)
print(0 <= x < 10)  # attendu: True

utilisation

import secrets
opts = ["a","b","c"]
print(secrets.choice(opts) in opts)

variante(s) utile(s)

import secrets
print(len(secrets.token_bytes(16)) == 16)

notes

  • Préférez secrets à random pour tokens, tirages sensibles.
  • token_bytes/token_hex/token_urlsafe selon l’usage.