一个基于 Tkinter 的密码生成器的简单实现:

import tkinter as tk
from tkinter import messagebox
import string
import random
class PasswordGenerator:
def __init__(self, root):
self.root = root
self.root.title("密码生成器")
self.passwords = []
self.label_length = tk.Label(root, text="密码长度:")
self.label_length.grid(row=0, column=0, padx=5, pady=5)
self.entry_length = tk.Entry(root)
self.entry_length.grid(row=0, column=1, padx=5, pady=5)
self.checkbox_lower = tk.Checkbutton(root, text="小写字母", variable=tk.BooleanVar())
self.checkbox_lower.grid(row=1, column=0, padx=5, pady=5)
self.checkbox_upper = tk.Checkbutton(root, text="大写字母", variable=tk.BooleanVar())
self.checkbox_upper.grid(row=1, column=1, padx=5, pady=5)
self.checkbox_digit = tk.Checkbutton(root, text="数字", variable=tk.BooleanVar())
self.checkbox_digit.grid(row=2, column=0, padx=5, pady=5)
self.checkbox_special = tk.Checkbutton(root, text="特殊字符", variable=tk.BooleanVar())
self.checkbox_special.grid(row=2, column=1, padx=5, pady=5)
self.generate_button = tk.Button(root, text="生成密码", command=self.generate_password)
self.generate_button.grid(row=3, columnspan=2, padx=5, pady=5)
self.label_passwords = tk.Label(root, text="已生成的密码:")
self.label_passwords.grid(row=4, columnspan=2, padx=5, pady=5)
self.listbox_passwords = tk.Listbox(root, width=30, height=5)
self.listbox_passwords.grid(row=5, columnspan=2, padx=5, pady=5)
def generate_password(self):
length = int(self.entry_length.get())
if not any([self.checkbox_lower.get(), self.checkbox_upper.get(), self.checkbox_digit.get(), self.checkbox_special.get()]):
messagebox.showwarning("警告", "请选择至少一种密码字符类型")
return
characters = ""
if self.checkbox_lower.get():
characters += string.ascii_lowercase
if self.checkbox_upper.get():
characters += string.ascii_uppercase
if self.checkbox_digit.get():
characters += string.digits
if self.checkbox_special.get():
characters += string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
self.passwords.append(password)
self.listbox_passwords.insert(tk.END, password)
if __name__ == "__main__":
root = tk.Tk()
app = PasswordGenerator(root)
root.mainloop()
这个密码生成器界面包含了以下功能:
- 提供了选项来选择密码的长度和字符类型(小写字母、大写字母、数字和特殊字符)。
- 可以点击“生成密码”按钮来生成密码,并将生成的密码记录在已生成的密码列表框中。
公众号回复:密码生成器,即可获取
当前文章价值1.87元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

评论已关闭!