Python3, генерируем ключи для конфигурации Flask-приложения

avm

Опубликован:  2018-02-10T11:24:19.443461Z
Отредактирован:  2018-02-10T11:24:36.802511Z
100

Flask-приложения, в силу минималистичности этого фреймворка, требуют полностью ручной конфигурации. Для некоторых Flask-приложений необходим секретный ключ. Предлагаю один из вариантов его формирования. Итак, мне, как всегда, потребуется консоль с интерпретатором Python3 и его стандартная библиотека.

Секретный ключ - набор символов, который чрезвычайно сложно угадать или подобрать путём перебора возможных вариантов. Для формирования секретного ключа нужен некоторый кэш символов, из которых будет состоять ключ:

>>> from string import ascii_letters, digits
>>> cache = ascii_letters + digits + '!@#$%^&*()_+-='

Далее мне понадобится генератор случайных чисел, который будет в случайном порядке перебирать символы из кэша:

>>> from random import choice
>>> 

Теперь путём несложных стандартных процедур можно получить сразу набор возможных вариантов ключа, из которых можно выбрать один - наиболее понравившийся:

>>> for _ in range(10):
...     print(''.join(choice(cache) for _ in range(50)))
... 
bZds3hKbI$5q7PdjbE$MIp2Q7tRzfA*j+6wlEmY*eDGyQb$e3j
8l(2sjo4ufw2IxRMl1Dvo4(V1vO#XmCjYN0z$6p@=J2ZRAiRb0
BF)J+%OWmz@a1&^1(!MOjRFzeKm3AdAKIo8w!UX!Mo3MnHJu$0
#Z@&v8-uqRJ6yhprTnVjMM8FFKYFdS--Bdt8bW5BM2yhXF)h_D
m)ZHL(YvJFPkRdOkl(ehfx7)2iVJQp!6r*qnQ=%^o6_tfj=sck
uE+LZhPq^9R^4SHm1%iLKFK9922CI2B$ATthl7&RbUw#1IFqm9
v-RncYm$196VQ*&bI5x!hru%cihpgZ8HpNTylaGkugBjJtB-kK
O-^)Jo@CNWwXMm@mdCi-KNc7Qn2jbkM*938GO1*XM_@nm7dco_
Q@+s4h0(Cy8z#bMw2x0JOjXah#RL@t0O@G_)R3S9&3+pmVyrJL
kDc$T_QWq&zI3rKSr$5ENB)=f7TM5b^h#gv#w=i6^3a#CJ7aBS
>>> 

В общем, цель достигнута. При автоматизации деплоймента такой вариант генерации ключа будет удобно и легко встроить в код.

 
Комментарии: