import secrets
from tkinter import *
from tkinter import ttk
list_letters = [
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"]
list_numbers = ["0", "1", "2", "3", "4",
"5", "6", "7", "8", "9"]
list_chars = ["#", "@", "%", "^", "&", "*",
"(", ")", "_", "+", "=", "|",
"[", "]", "{", "}", ":", ";",
"<", ">", "?", "~", ".", ","]
def password_gen(password):
list_symbols = []
list_symbols.append(secrets.choice(list_letters))
list_symbols.append(secrets.choice(list_letters).upper())
list_symbols.append(secrets.choice(list_numbers))
list_symbols.append(secrets.choice(list_chars))
for i in range(8):
select_list = secrets.randbelow(3)
if select_list == 0:
select_case = secrets.randbelow(2)
if select_case == 0:
list_symbols.append(secrets.choice(list_letters))
else:
list_symbols.append(secrets.choice(list_letters).upper())
elif select_list == 1:
list_symbols.append(secrets.choice(list_numbers))
elif select_list == 2:
list_symbols.append(secrets.choice(list_chars))
secrets.SystemRandom().shuffle(list_symbols)
for symbol in list_symbols:
password += symbol
return password
def generate_and_show():
entry.delete(0, END)
entry.insert(0, password_gen(""))
root = Tk()
root.title("ГЕНЕРАТОР ПАРОЛЕЙ")
root.geometry("350x100")
entry = Entry(root, font=("Arial", 14), justify="center")
entry.pack()
btn = ttk.Button(text="Сгенерировать пароль", command=generate_and_show)
btn.pack()
root.mainloop()