Программа которая при запуске генерирует пароль заданной пользователем длины из случайных цифр питон

Тема не новая, генераторов существует множество, однако такой простой код и глазу приятен, и место не занимает.

Для начала вставим в шапку кодировку и версию питона. Импортируем модуль random для генерации случайной последовательности. Зададим переменную chars и вобьём буквы в разном регистре, цифры и какие-нибудь спецсимволы для получения максимально взломостойкого пароля.

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

number = input(‘количество паролей?’+ «n») length = input(‘длина пароля?’+ «n») number = int(number) length = int(length)

Осталось добавить самое главное — цикл случайной генерации символов, букв и цифр из нашей переменной, согласно параметрам введённым пользователем.

for n in range(number): password =» for i in range(length): password += random.choice(chars) print(password)

Вот собственно и всё — простой генератор сложных паролей готов.

12.2 Генератор паролей 1. «Поколение Python»: курс для продвинутых. Курс Stepik


Код полностью:

Результат работы:

pas.png

Не нужно искать сложных путей, если есть простые решения

explorer

Pentest Group
Platinum

Азиз

Green Team
30.05.2018 224 74

Тема не новая, генераторов существует множество, однако такой простой код и глазу приятен, и место не занимает.

Для начала вставим в шапку кодировку и версию питона. Импортируем модуль random для генерации случайной последовательности. Зададим переменную chars и вобьём буквы в разном регистре, цифры и какие-нибудь спецсимволы для получения максимально взломостойкого пароля.

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

number = input(‘количество паролей?’+ «n») length = input(‘длина пароля?’+ «n») number = int(number) length = int(length)

Осталось добавить самое главное — цикл случайной генерации символов, букв и цифр из нашей переменной, согласно параметрам введённым пользователем.

for n in range(number): password =» for i in range(length): password += random.choice(chars) print(password)

Вот собственно и всё — простой генератор сложных паролей готов.
Код полностью:

Не нужно искать сложных путей, если есть простые решения

С меня плюсик. И еще, во избежания лишних строк кода — советую:

number = input(‘количество паролей?’+ «n») length = input(‘длина пароля?’+ «n») number = int(number) length = int(length)
number = int(input(‘количество паролей?’+ «n»)) length = int(input(‘длина пароля?’+ «n»))

Не нужно искать сложных путей, если есть простые решения
Последнее редактирование: 01.09.2018

NeskO

Green Team
10.01.2018 115 52

Можно еще написать пребор по таким паролям. те сначала набираеться словарь до указаного пользователем количества паролей и сразу же брут им через гидру.

36 Задача: Генератор случайных паролей при помощи Python

explorer

Platinum
05.08.2018 1 093 2 512

number = int(input(‘количество паролей?’+ «n»)) length = int(input(‘длина пароля?’+ «n»))

Можно еще написать пребор по таким паролям. те сначала набираеться словарь до указаного пользователем количества паролей и сразу же брут им через гидру.

Читайте также:
Основные направления развития здравоохранения программа здравоохранения

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

explorer

Platinum
05.08.2018 1 093 2 512

Чего-то сегодня под вечер на меня нашло, и я решил переписать эту утилиту с оконным интерфейсом. Так гораздо удобнее, можно сразу в одном окне набить паролей разной длины.

В общем пошаманил, и получил следующий код на выходе:

gen.png

Valkiria

Количество паролей — 5
Количество символов — 18.
А получилась какая-то каша.

Это тест на внимательность ?

explorer

Platinum
05.08.2018 1 093 2 512

Количество паролей — 5
Количество символов — 18.
А получилась какая-то каша.

Это тест на внимательность ?

Ну если тест на внимательность — то внимательнее читать нужно ))) ВЫше написано — можно сразу в одном окне набить паролей разной длины. Что на скрине и видно, сначала 25 знаков, потом 18. Чтобы каши не было, есть кнопка «очистить».

Азиз

Green Team
30.05.2018 224 74

Советую добавить немного отступов, и ещё добавить типо:

Пароль 1 — 7377283891
Пароль 2 — hsjsjaklaji28

Так все будет намного понятней

explorer

Platinum
05.08.2018 1 093 2 512

Советую добавить немного отступов, и ещё добавить типо:

Пароль 1 — 7377283891
Пароль 2 — hsjsjaklaji28

Так все будет намного понятней

Любые разделители можно по желанию поставить отредактировав строку 23. Пронумеровать тоже можно, но тогда нумерация будет повторяться с каждым новым циклом.

z3RoTooL

Grey Team
28.02.2016 796 709

а вот мой вариант )

┌─╼[~] └────╼ cat /bin/passgen read -p «Длинна пароля: » number echo pwgen -sncB -1 «$number» 10 echo

fuzscore

Grey Team
21.09.2016 77 181
а почему не добавить при каждой новой генерации очистку предыдущей?

explorer

Platinum
05.08.2018 1 093 2 512
а почему не добавить при каждой новой генерации очистку предыдущей?

Я так задумал просто, чтобы именно разной длины набить сразу в окно можно было. А если это не понадобится, то сделал кнопку «очистить».
Все мы по разному воспринимаем и мыслим
А так кучу всего другого можно туда добавить — например отправку в текстовый файл, чтобы ручками не копипастить и т.д.

Tayrus

Red Team
13.04.2017 365 786
Решил написать свой вариант:

import datetime import base64 import random def Revers(string): string = string[::-1] return string def CorrectPass(password): for x in password: password = password.replace(x,»») if len(password) == passwordlen: break return password #Get data timer = datetime.datetime.now() #Morph str timer = str(timer) timer = timer.replace(‘-‘,») timer = timer.replace(‘ ‘,») timer = timer.replace(‘:’,») timer = timer.replace(‘.’,») #Revers or not realrandom = random.choice([1,2]) if realrandom == 1: timer = Revers(timer) #Encode str timer = base64.b64encode(bytes(timer, «utf-8»)) #Morph timer = str(timer) timer = timer.replace(«b'»,»») timer = timer.replace(«='»,»») #Len passwordlen = 15 #Change this if passwordlen != len(timer): timer = CorrectPass(timer) #Check while True: #Если в выводе ничего не получили, то запустите скрипт еще раз, до тех пор пока не получите. if timer == »: timer = CorrectPass(timer) break print (timer)

Читайте также:
Не запускается программа Опера

explorer

Platinum
05.08.2018 1 093 2 512
Решил написать свой вариант

Я уж было обрадовался, что кто-то ещё свои творения выкладывает, но к сожалению консольный скрипт получился длиннющий, не всегда срабатывает, и длина пароля жёстко задана, и выдаёт в 1 экземпляре.

z3RoTooL

Grey Team
28.02.2016 796 709

сделал своё творение немного приятней глазу

┌─╼[~] └────╼ cat /bin/passgen #!/bin/bash # Скрипт генератор паролей pwgen + параметры запуска echo echo  Генератор паролей pwgen с параметрами запуска echo echo ∗ Генерировать полностью случайные пароли echo ∗ Включить хотя бы один номер в пароле echo ∗ Включить хотя бы одну заглавную букву в пароле echo ∗ Не включать двусмысленные символы в пароле echo read -p «⏵ Введите кол-во символов для пароля: » number echo ──────────────────────╼ pwgen -1sncB «$number» 10 echo ──────────────────────╼

emD7qdS.png

Tayrus

Red Team
13.04.2017 365 786

Я уж было обрадовался, что кто-то ещё свои творения выкладывает, но к сожалению консольный скрипт получился длиннющий, не всегда срабатывает, и длина пароля жёстко задана, и выдаёт в 1 экземпляре.

Длину пароля можно поменять(там комментарий измени меня), а размер скрипта имеет значение(это глупо сравнить качество по количеству строк в коде)? Мне лень было фиксить эту проблему(не всегда срабатывает).

explorer

Platinum
05.08.2018 1 093 2 512

Ну раз я сам заикнулся о варианте с сохранением в файл, то решил добавить эту функцию в программу. Теперь можно сгенерированные списки паролей сохранять.

Источник: codeby.net

ildarkhasanshin / password.py

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

import random
num = input ( ‘login ‘ )
pas = »
for x in range ( 16 ): #Количество символов (16)
pas = pas + random . choice ( list ( ‘1234567890abcdefghigklmnopqrstuvyxwzABCDEFGHIGKLMNOPQRSTUVYXWZ’ )) #Символы, из которых будет составлен пароль
print ( ‘Hello, ‘ , num , ‘your password is: ‘ , pas )

Источник: gist.github.com

Как создать генератор случайных паролей на Python

toadmin.ru

Безопасность – одна из важнейших составляющих нашей жизни. Важность безопасности возрастает день ото дня, поскольку большинство вещей переходят в онлайн. Пароли всплывают, когда мы говорим о безопасности.

В этой статье мы создадим генератор паролей, который поможет нам быстро генерировать случайные и надежные пароли.

Зачем нужен генератор паролей?

Потому что мы не можем мгновенно придумать разные шаблоны паролей.

Но с компьютерами все не так. Компьютеры могут генерировать случайные и надежные пароли на основе наших настроек за считанные секунды. Доступно множество генераторов паролей.

Можем ли мы создать свой собственный с настройками, которые нам нравятся?

Да, мы определенно можем создать его. И здесь мы собираемся показать вам, как это сделать.

Давайте создадим генератор паролей.

Генератор паролей

Лучшее в создании собственного генератора паролей — это то, что мы можем настроить его по своему усмотрению.

Читайте также:
Как сделать свой флаг в кербал спейс программ

Во-первых, мы создадим генератор паролей, который запрашивает длину пароля и генерирует случайный пароль, содержащий цифры, алфавиты и специальные символы.

Далее мы улучшим его, запросив количество символов каждого типа, таких как количество цифр, алфавитов и специальных символов.

Итак, без лишних слов, давайте посмотрим, как создать генератор паролей с помощью Python.

Шаги

  • Сохраните все символы в виде списка. Мы можем использовать строковый модуль Python или ввести их все.
  • Попросите пользователя ввести длину пароля.
  • Перемешайте символы, используя метод random.shuffle.
  • Инициализировать пустой список для хранения пароля.
  • Напишите цикл, который повторяет длину раз.
  • Выберите случайный персонаж из всех символов, используя метод random.choice.
  • Добавьте случайный символ к паролю.

Выполните описанные выше шаги и попробуйте написать код. Не волнуйтесь, даже если вы не в состоянии написать код. Проверьте код ниже.

Код

import string import random ## characters to generate password from characters = list(string.ascii_letters + string.digits + «[email protected]#$%^) def generate_random_password(): ## length of password from the user length = int(input(«Enter password length: «)) ## shuffling the characters random.shuffle(characters) ## picking random characters from the list password = [] for i in range(length): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print(«».join(password)) ## invoking the function generate_random_password()

Приведенный выше код говорит сам за себя. Мы только что выполнили шаги, описанные для написания кода. Таким образом, вы не столкнетесь с проблемами в понимании кода, если прочитаете шаги.

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

Enter password length: 10 d[email protected]#$%^) characters = list(string.ascii_letters + string.digits + «[email protected]#$%^) def generate_random_password(): ## length of password from the user length = int(input(«Enter password length: «)) ## number of character types alphabets_count = int(input(«Enter alphabets count in password: «)) digits_count = int(input(«Enter digits count in password: «)) special_characters_count = int(input(«Enter special characters count in password: «)) characters_count = alphabets_count + digits_count + special_characters_count ## check the total length with characters sum count ## print not valid if the sum is greater than length if characters_count > length: print(«Characters total count is greater than the password length») return ## initializing the password password = [] ## picking random alphabets for i in range(alphabets_count): password.append(random.choice(alphabets)) ## picking random digits for i in range(digits_count): password.append(random.choice(digits)) ## picking random alphabets for i in range(special_characters_count): password.append(random.choice(special_characters)) ## if the total characters count is less than the password length ## add random characters to make it equal to the length if characters_count < length: random.shuffle(characters) for i in range(length — characters_count): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print(«».join(password)) ## invoking the function generate_random_password()

Итак, в чем разница между предыдущим кодом и этим кодом?

  • Мы написали отдельные циклы для каждого типа символов, чтобы добавить их в пароль.
  • Есть две условные проверки для проверки общего количества символов с длиной пароля.
Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru