Python 3.6+Linuxosфункция
os.getrandom
os — случайность
Возвращает случайные байты напрямую от системного генератора (getrandom); может блокироваться до готовности энтропии. Доступно на Linux.
Синтаксис
os.getrandom(...)
Для прикладного кода удобнее secrets или os.urandom: они переносимы и не требуют флагов. Функция может заблокироваться при раннем старте системы, пока генератор не накопил энтропию; флаг GRND_NONBLOCK превращает ожидание в BlockingIOError. Модуль random для паролей и токенов не годится — он предсказуем.
Примеры
import os
print(len(os.getrandom(16))) # → ? только Linux: 16 (на Windows/macOS функции нет — переносимый аналог os.urandom)
key = os.getrandom(32, os.GRND_NONBLOCK) # → ? только Linux: BlockingIOError, если энтропия ещё не набрана
print(len(key)) # → 32
print(len(os.getrandom(0))) # → ? только Linux: 0, граничный случай — пустой запрос
print(os.getrandom(4) == os.getrandom(4)) # → ? только Linux: False, каждый вызов даёт новые байты
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности