Я создаю программу Tkinter, которая может сгенерировать для вас случайный пароль и сохранить вашу регистрационную информацию для любого веб-сайта или для более позднего использования. Он генерирует вам пароль, запрашивает ваше имя пользователя (под которым вы зарегистрировались) и имя веб-сайта (где вы создали учетную запись), чтобы он мог хранить его. После этого вы можете искать информацию для входа в систему с помощью этой программы, если вы снова заходите на сайт. Я пытаюсь добавить функцию пользовательского пароля, которая хранит ваш собственный пароль вместо хранения случайного пароля.
import tkinter as tk
import random
window = tk.Tk()
window.title("Password generator") #Window title
window.geometry("450x300") #Window Size
#Random characters to create a password
one = ['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']
two = ['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']
three = ['1','2','3','4','5','6','7','8','9','0']
four = ['~','@','!','#','$','%','^','&','*','(',')','-','_','=','+',':',';',',','.','<','>','/','?']
five = ['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']
six = ['1','2','3','4','5','6','7','8','9','0']
seven = ['~','@','!','#','$','%','^','&','*','(',')','-','_','=','+',':',';',',','.','<','>','/','?']
eight = ['~','@','!','#','$','%','^','&','*','(',')','-','_','=','+',':',';',',','.','<','>','/','?']
nine = ['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']
ten = ['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']
a = one[random.randint(0, 25)]
b = two[random.randint(0, 25)]
c = three[random.randint(0, 9)]
d = four[random.randint(0, 22)]
e = five[random.randint(0, 25)]
f = six[random.randint(0, 9)]
g = seven[random.randint(0, 22)]
h = eight[random.randint(0, 22)]
i = nine[random.randint(0, 25)]
j = ten[random.randint(0, 25)]
x = a+b+c+d+e+f+g+h+i+j #Password(Includes various characters)
Generate = tk.Label(text="Here is your randomly generated password:")
Generate.grid(column=3, row=3)
UserName = tk.StringVar() #Make Username and website containing variables
WebSite = tk.StringVar()
passw = tk.Label(text=x) #Display the password
passw.grid(column=3, row=4)
UserN = tk.Label(text="Username/Email")
UserN.grid(column=2, row=5)
username = tk.Entry(window, width=30, textvariable=UserName) #Take in the username and store it
username.grid(column=3, row=5)
WebS = tk.Label(text="Website Name") #Take in the website name and store it
WebS.grid(column=2, row=6)
website = tk.Entry(window, width=30, textvariable=WebSite) #Take in the website name and store it
website.grid(column=3, row=6)
def storeinfo(): #Store the information in a .txt file
with open("LoginInfo.txt", "a") as logininfo:
logininfo.write('%s,%s,%s\n' % (WebSite.get(), UserName.get(), x))
savesuccess = tk.Label(text="Save successful!", fg="Purple")
savesuccess.grid(column=4, row=8)
save = tk.Button(text="Save Info", command=storeinfo) #Button to execute command
save.grid(column=3, row=8)
#Search for your login info
searchentry = tk.StringVar() #Store the user's entry(The website name only)
searchent = tk.Entry(textvariable=searchentry) #Take in the website name
searchent.grid(column=3, row=11)
def search(): #Command to search
with open("LoginInfo.txt") as fo:
for rec in fo:
tokens = rec.strip().split(',', 2) # split to maximum three tokens
if tokens[0] == searchentry.get(): #If the website name(which is first in the list)is equal to searchentry
searches = tk.Label(text=rec) #Give out the entire list
searches.grid(column=3, row=12)
searchbutton = tk.Button( width=10, text="search", command=search) #Button to execute search command
searchbutton.grid(column=4, row=11)
def custompass(): #If the user already has a password and just wishes to just store it
anc = tk.StringVar()
custompass1 = tk.Entry(text="Add a custom password", textvariable=x) #Store the custom password in x
custompass1.grid(column=3, row=15)
custompasslabel1 = tk.Label(text="Password: ")
custompasslabel1.grid(column=2, row=15)
custompass2 = tk.Entry(text="Add Username/Email", textvariable=UserName) #Store the username in UserName
custompass2.grid(column=3, row=16)
custompasslabel2 = tk.Label(text="Username/Email: ")
custompasslabel2.grid(column=2, row=16)
custompass3 = tk.Entry(text="Add website name", textvariable=WebSite) #Store the website name in WebSite
custompass3.grid(column=3, row=17)
custompasslabel1 = tk.Label(text="Website: ")
custompasslabel1.grid(column=2, row=17)
submitbutton = tk.Button(text="Submit", command=storeinfo) #Button to execute storeinfo command
submitbutton.grid(column=3, row=18)
storeinfo()
custompassb = tk.Button(text="Add a custom password", command=custompass) #Button to start the custompass command
custompassb.grid(column=3, row=14)
window.mainloop()
В функции custompass () я пытаюсь изменить значение x на ввод пользователя, а затем запускаю функцию storeinfo () для сохранения информации в файле .txt, но этого не происходит , Вместо этого он хранит случайный пароль.
Спасибо