Python 3.6+secretsфункция
secrets.token_hex()
токены
Возвращает случайный токен в шестнадцатеричном виде: nbytes случайных байтов дают строку из 2*nbytes символов.
Синтаксис
secrets.token_hex(nbytes=None) -> str
Аргумент — число байтов, а не длина строки: token_hex(16) даёт 32 символа. Частая ошибка — передать желаемую длину и получить токен вдвое длиннее. Токен содержит только 0-9 и a-f, поэтому безопасен в URL, именах файлов и SQL без экранирования.
Примеры
import secrets
t = secrets.token_hex(16)
print(len(t)) # → 32 — вдвое больше nbytes
print(all(c in '0123456789abcdef' for c in t)) # → True
print(t) # → ? случайная строка
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности