Создание случайного пароля

Материал из Mindsellers
Перейти к: навигация, поиск

Python

Часто возникает потребность сгенерировать пароль для пользователя, например, при автоматическом создании пользователей электронной почты. Вот 3 строчки на Python, которые успешно справляются с этой задачей.

def randpass(length=32):
   import random, string
   pwd = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(length)])
   return pwd 
print randpass(16)

В принципе, тут все вполне понятно, но на всякий случай поясним построчно:

def randpass(length): - объявляем функцию с параметром длины предполагаемого пароля

import random, string - подключаем нужные модули: случайного выбора и работы со строками

pwd = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(length)]) - тут пара интересных штук. Во-первых, конструкция строка.join(подстрока) дописывает в строку подстроку. В данном случае мы берем пустую строку '' и дописываем к ней случайное значение, которое формируется случайным образом из всех цифр и букв латинского алфавита. Выполняется все это безобразие в цикле от 0 до указанного значения length

return pwd - завершение функции, выдача результата работы

Мы можем вызвать функцию как в примере, указав длину пароля, а можем и просто randpass(), тогда будет сформирован 32-х символьный пароль.