Python Glossary English

Python 3.9+randomфункция

random.randbytes

биты и байты

Возвращает bytes из n случайных байтов (Python 3.9+); воспроизводимо под seed — годится для тестов, но не для токенов и солей.

Синтаксис

random.randbytes(n)

Настоящее преимущество перед os.urandom — воспроизводимость: под фиксированным seed вернётся та же цепочка байт, и бинарные фикстуры в тестах становятся детерминированными. Для солей, сессионных токенов и вообще всего, что охраняет доступ, берут secrets.token_bytes() — этот генератор предсказуем, если понаблюдать за его выдачей.

Примеры

import random
print(len(random.randbytes(4)))   # → 4
print(type(random.randbytes(2)))   # → <class 'bytes'>
print(random.randbytes(0))   # → b''
print(len(random.randbytes(16).hex()))   # → 32
print(random.randbytes(-1))   # → ValueError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности