[Python] Генератор паролей

dserlf

Новичок
Статус
offline
Регистрация
18.05.2018
Сообщения
23
Репутация
9
Приветствую всех в этот чудесный летний денек (+7 на улице).
Написал себе консольный генератор паролей на питоне, делюсь своим детищем с вами. Сообщите мне, если у вас за место русских букв в консоли будет непонятная белиберда, переделаю все на латинице.


Код:
#========================
#                       |
# pasgen v1.0           |
# Made by dserlf        |
#                       |
#========================


import  string, sys, random

class passGenerator():
    def __init__(self):
        self.list_nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
        self.list_az = []
        self.list_AZ = []
        self.list_procent = ['%', '*', ')','?', '@', '#', '$', '~']
        self.list_init = []
        self.password = ''
        self.line = '======================================================'

    def print_hello(self):
        print('Добро пожаловать в pasgen 1.0!\n'
              '[?] Как использовать: pasgen.py [аргументы]\n'
              '[?] Список аргументов: \n'
              '    - AZ: латиница верхнего регистра в пароле\n'
              '    - az: латиница нижнего регистра в пароле\n'
              '    - 09: цифры\n'
              '    -  %: использовать спецсимволы в пароле\n'
              '[?] Пример использования: pasgen.py az AZ 09\n')

    def generate_the_lists(self):
        a = string.ascii_lowercase
        for i in a:
            self.list_az.append(i)

        a = string.ascii_uppercase
        for i in a:
            self.list_AZ.append(i)

    def init_the_symbols(self):
        if 'az' in sys.argv[1:]:
            self.list_init += self.list_az
        if 'AZ' in sys.argv[1:]:
            self.list_init += self.list_AZ
        if '09' in sys.argv[1:]:
            self.list_init += self.list_nums
        if '%' in sys.argv[1:]:
            self.list_init += self.list_procent

    def generate_the_pass(self):
        self.max = int(input('Сколько символов должно быть в пароле: '))
        for i in range(0, self.max):
            self.rand = random.randint(1, len(self.list_init))
            self.password += str(self.list_init[self.rand])
        print(self.line)
        print('Результат: ' + self.password)
        print(self.line)






try:
    run = passGenerator()
    run.print_hello()
    run.generate_the_lists()
    run.init_the_symbols()
    run.generate_the_pass()
except:
    print('Что-то пошло не так, как планировалось.')
    sys.exit()


Если вы найдете какие-нибудь ошибки в моем коде, милости прошу потыкать меня в них носом :)
Ссылка на проект на github: https://github.com/dserlf/pasgen
 

Pepe Frog

Резидент
Статус
offline
Регистрация
17.08.2017
Сообщения
482
Репутация
159
Это для линукса, как я понял?
 

Gullonium

Участник
Статус
offline
Регистрация
18.01.2018
Сообщения
41
Репутация
20
При чем тут линкус?
 

Pepe Frog

Резидент
Статус
offline
Регистрация
17.08.2017
Сообщения
482
Репутация
159

dserlf

Новичок
Статус
offline
Регистрация
18.05.2018
Сообщения
23
Репутация
9
Это я знаю. Прост думал копировать git clone... А потом из терминала запускать
Хах, чтобы работал git clone, надо установить git bash. Он, кстати, и не во всех линуксах предустановлен изначально :)