Генерация случайных значений с помощью модуля secrets
Встроенный модуль secrets используется для генерации криптографически стойких случайных чисел, с помощью средств предоставляемых операционной системой. Что хорошо подходит при работе с паролями, токенами аутентификации.
Интерфейс использования secrets довольно прост и схож с random. Его основные функции:
secrets.choice(collection) - возвращает случайно выбранный элемент из переданной коллекции.
secrets.randbelow(n) - возвращает случайный int в диапазоне [0, n).
secrets.randbits(n) - возвращает целое число int состоящее из n случайных бит.
secrets.token_bytes(n) - возвращает случайную байтовую строку, содержащую n байт.
token_hex(n) - возвращает случайную строку из n байт в шестнадцатеричной формате.
token_urlsafe(n) - возвращает URL-безопасную строку, содержащая n байт, закодированную в Base64.
Также в модуле есть класс SystemRandom, который поддерживает большинство функций определенных в random.
@BookPython