Се

Секрети у Python

{one: "1 вправа", few: "%{count} вправи", many: "%{count} вправ", other: "%{count} вправи"}

Про концепцію Секрети

У попередньому уроці ми розглядали модуль random, який генерує псевдовипадкові числа і псевдовипадковий порядок елементів у масиві.

Модуль secrets частково перетинається за функціональністю з random, але ці два модулі створені з дуже різними пріоритетами.

  • random оптимізовано для високої продуктивності в моделюванні та симуляції, з «достатньо хорошою» генерацією псевдовипадкових чисел.
  • secrets створено криптографічно стійким для таких застосунків, як хешування паролів, генерація токенів безпеки та автентифікація облікових записів.

Докладніше про те, чому додавання модуля secrets виявилося необхідним, розповідається в PEP 506.

Модуль secrets доволі малий і простий: у ньому є методи для генерації випадкових цілих чисел, бітів, байтів, токенів або випадкового елемента із заданої послідовності.

Щоб скористатися модулем secrets, спершу потрібно виконати import:

>>> import secrets

# Returns n, where 0 <= n < 1000.
>>> secrets.randbelow(1000) 
577

# 32-bit integers.
>>> secrets.randbits(32) 
3028709440

>>> bin(secrets.randbits(32))
'0b11111000101100101111110011110100'

# Pick at random from a sequence.
>>> secrets.choice(['my', 'secret', 'thing']) 
'thing'

# Generate a token made up of random hexadecimal digits.
>>> secrets.token_hex() 
'f683d093ea9aa1f2607497c837cf11d7afaefa903c5805f94b64f068e2b9e621'

# Generate a URL-safe token of random alphanumeric characters.
>>> secrets.token_urlsafe(16) 
'gkSUKRdiPDHqmImPi2HMnw'

Якщо ми пишемо застосунки, чутливі до безпеки, нам неодмінно варто прочитати повну документацію, де є додаткові поради та приклади.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці