python: что является более криптографически безопасным случайным - PullRequest
0 голосов
/ 04 марта 2020

Я нашел следующие способы получить криптографически безопасную случайную строку в python, используя секреты.

Используя token_urlsafe

import secrets
secrets.token_urlsafe(50)
# Note 50 is bytes. base64 uses 6bits for a character so (50 x 8)/6 = 67

's9HXAIOVizuJS8tdF6r3KA35XEcEcATIzTKeyvat8oIZf6WeR_e-nbvPv4W0fg-nLgI'

Используя Выбор

#django: Method used by get_random_secret_key()
allowed_chars='abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
length=50
''.join(secrets.choice(allowed_chars) for i in range(length))

'z%+9t$d-nu)&%v@f)by@$$lk*h=%hma3r(lx0nud7^7@)*6ls2'

Также, почему django предпочитает использовать secretts.choice

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...