У меня появилась нужна в скрипте для создания словаря, так как в данный момент учу программирование, то решил сделать его на питоне. Дисклеймер: я не являюсь профи в данном языке программирования, потому что только обучился основам и сейчас практикуюсь. Знаю, мой код далек от идеала, как и сам скрипт, поэтому люди, которые шарят в питоне, можете сказать что нужно добавить, что может исправить, какие еще вопросы для создания словаря добавить, ибо сейчас их довольно мало.
Вот, как то так, можете оценить еще, пойдет ли для человека, который еще в процессе обучения.
Python:
import random
from colorama import init
from colorama import Fore, Back, Style # Модуль для украшение консоли
init() # Нужен для работы colorama
print(Fore.MAGENTA + 'Start') #Fore.MAGENTA создает фиолетовый цвет текста в консоли
name = input("Имя: ")
surname = input("Фамилия: ")
name2 = input("Возможная форма имени: ")
name3 = input("Возможная форма имени: ")
year = input("Год рождения: ")
hobby = input("Хобби: ")
other1 = input("Любимая марка машины/музыкант или что то еще: ")
other2 = input("Любимая марка машины/музыкант или что то еще: ")
passwords_list = [] # Новый список, в который будут записываться комбинации
def brute(*args):
'''Создание самого словаря для брута'''
words_list = [name,name2,name3,year,hobby,other1,other2] # Создание списка с ключевыми словами для создания словаря
i = 0
while i <= 10000:
random_combinations = (random.choice(words_list) + random.choice(words_list)) # Создание рандомных комбинаций пароля
passwords_list.append(random_combinations) # Добавления комбинаций в новый список
i+= 1
brute(name,name2,name3,year,hobby,other1,other2)
def save():
'''Сохранения словаря паролей в txt файл'''
with open(r"passwords.txt", "w") as file:
for password in passwords_list:
file.write(password + '\n')
save()
def converted():
'''Чтобы исключить повторяющиеся значения, конвертирую список в множество, создастся еще один txt файл, но уже отсортированный'''
lines_set = set()
with open(r"passwords.txt", "r") as fin, open(r"converted_passwords.txt", "w") as fout:
for line in fin:
if line not in lines_set:
fout.write(line)
lines_set.add(line)
converted()
Вот, как то так, можете оценить еще, пойдет ли для человека, который еще в процессе обучения.