Python 3.6+secretsфункция
secrets.token_bytes()
токены
Возвращает nbytes криптографически стойких случайных байтов — для ключей, соли и одноразовых кодов.
Синтаксис
secrets.token_bytes(nbytes=None) -> bytes
Без аргумента берётся разумная длина по умолчанию (сейчас 32 байта), и её стоит не уменьшать. В отличие от random.randbytes(), источник — os.urandom, поэтому результат нельзя воспроизвести через seed: это достоинство, а не недостаток. Для текстового токена удобнее token_hex() или token_urlsafe().
Примеры
import secrets
key = secrets.token_bytes(16)
print(type(key).__name__, len(key)) # → bytes 16
print(len(secrets.token_bytes())) # → 32
print(key) # → ? случайные байты
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности