Рейтинг:1

Является ли модуль секретов Python достаточно случайным для розыгрыша?

флаг tr

Бы секреты.выбор быть достаточно случайным, чтобы выбрать победителей в лотерее?

Рейтинг:1
флаг us

Да. По словам Питона документация

Модуль секретов используется для создания криптографически стойких случайные числа, подходящие для управления данными, такими как пароли, учетная запись аутентификация, токены безопасности и связанные с ними секреты.

На заднем фоне, секреты не использует PRNG как случайный. В частности, в Linux он использует \dev\urandom который считается криптографически безопасным и используется популярными криптографическими библиотеками, такими как OpenSSL. В Windows используется RtlGenRandom.

флаг tr
Спасибо! Итак, если у меня есть список имен `['Джон Смит', 'Джейн Доу', 'Джейн Доу', 'Джо Паблик']` (Джейн Доу купила два билета), и я вызываю `secrets.choice(names)` будет так же безопасно, как случайный бумажный билет?
benrg avatar
флаг cn
`random` на самом деле поддерживает несколько генераторов, включая `SystemRandom`, который использует тот же источник urandom или эквивалент, что и `secrets`. `secrets` был добавлен позже как модуль, который было бы сложнее случайно использовать неправильно, если вам нужна криптографическая случайность.@Someone, это безопасно, если вы доверяете компьютеру, на котором его запускаете. Бумажный рисунок может (а может и нет) взломать сложнее.
JAAAY avatar
флаг us
@benrg Спасибо, я этого не знал, соответственно обновлю свой ответ.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.