import tkinter as tk
import requests
password = ''
length = 0
window = tk.Tk()
window.title("генератор паролей")
#введенный текст
label = tk.Label(window, text="сколько символов должно быть в пароле?")
label.pack()
#строка ввода
def get_input():
global length
length = int(entry.get())
print(length)
# return length
entry = tk.Entry(window, width=30)
entry.pack(pady=10)
#кнопка получения результата
button = tk.Button(window, text="Получить введенный результат", command=get_input)
button.pack(pady=5)
#чекбоксы
def checkbox_result():
global strfinal
if var1.get():
str1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
else:
str1 = 'abcdefghijklmnopqrstuvwxyz'
if var2.get():
str2 = '0123456789-_@'
else:
str2 = ''
strfinal = str1+str2
print(strfinal)
return strfinal
var1 = tk.BooleanVar()
var2 = tk.BooleanVar()
checkbox1 = tk.Checkbutton(window, text="использовать верхний регистр в пароле?", variable=var1, command=checkbox_result)
checkbox2 = tk.Checkbutton(window, text="использовать спец. символы и цифры в пароле?", variable=var2, command=checkbox_result)
checkbox1.pack()
checkbox2.pack()
def password_gen():
global password, length, strfinal
password = ''
while length != 0:
url = "https://www.random.org/integers/?num=1&min=1&max=64&col=1&base=10&format=plain&rnd=new"
response = requests.get(url)
random_number = int(response.text.strip())
password += strfinal[random_number]
length -= 1
# password.config(text=f"Пароль: {password}")
print(password)
#кнопка вывода
genbutton = generate_button = tk.Button(window, text="Сгенерировать пароль", command=password_gen)
genbutton.pack(pady=10)
def copy_to_clipboard():
window.clipboard_append(password) # Добавляем пароль в буфер обмена
window.update() # Обновляем окно для применения изменений
print(f"Пароль '{password}' скопирован в буфер обмена.")
copy_button = tk.Button(window, text="Скопировать в буфер обмена", command=copy_to_clipboard)
copy_button.pack(pady=5)
#res = tk.Label(window, text=f"Пароль: {password}")
#res.pack()
#password = tk.Label(window, text="")
#password.pack()
#while length != 0:
# url = "https://www.random.org/integers/?num=1&min=1&max=64&col=1&base=10&format=plain&rnd=new"
# response = requests.get(url)
# random_number = int(response.text.strip())
# password += strfinal[random_number]
# length -= 1
window.mainloop()