Рубрики
Без рубрики

PythonProjects [1/50] – генератор пароля с графическим интерфейсом

Блог 001 – генератор паролей Python Простая руководство для создания генератора пароля с GU … Теги с Python.

Простая руководство для создания генератора пароля с GUI, используя TKinter

Проект на Github: https://github.com/zsoltszakal/python-random-password-tkinter

Шаг 1: Протопировать пользовательский интерфейс

Я использовал www.figma.com к

Шаг 2: Создать пользовательский интерфейс с Tkinter

##########     User Interface     ##########
window = Tk()
window.title("Password Generator")
window.config(padx=50, pady=50, bg="#383e56")

label_title = Label(text="Password Generator",
                    bg="#383e56",
                    fg="#c5d7bd",
                    font=("Arial", 35, "bold"))
label_title.grid(row=0, column=0, columnspan=3, pady=30)

label_before_input = Label(text="I want a password with",
                           bg="#383e56",
                           fg="#c5d7bd",
                           font=("Arial", 15, "bold"))
label_before_input.grid(row=1, column=0)

char_input = Entry(bg="#fb743e")
char_input.grid(row=1, column=1)

label_after_input = Label(text="characters.",
                          bg="#383e56",
                          fg="#c5d7bd",
                          font=("Arial", 15, "bold"))
label_after_input.grid(row=1, column=2)

generate_password_button = Button(text="Generate Password & Copy to Clipboard",
                                  bg="#fb743e",
                                  height=4,
                                  width=55,
                                  command=password_generator)
generate_password_button.grid(row=2, column=0, columnspan=3, padx=50, pady=50)

password_field = Entry(bg="#383e56",
                       font=("Arial", 15, "bold"))
password_field.grid(row=3, column=0, columnspan=3, , width=40)

window.mainloop()

Шаг 3 – Создайте генератор пароля

from tkinter import *
import string
import random

##########     Password Generator     ##########
password_chars = string.ascii_letters + string.digits + string.punctuation

def password_generator():
    length = 10
    password = "".join([random.choice(password_chars) for _ in range(length)])

Шаг 4 – Добавить команду генератора паролей Кнопка

##########     User Interface - add command=password_generator   ##########
generate_password_button = Button(text="Generate Password & Copy to Clipboard",
                                  bg="#fb743e",
                                  height=4,
                                  width=55,
                                  command=password_generator)

Шаг 5 – Используйте ввод пользователя, чтобы определить длину пароля

##########     Password Generator - Get the value for lenght from char_input entry    ##########
password_chars = string.ascii_letters + string.digits + string.punctuation

def password_generator():
    length **= int(char_input.get())**
    password = "".join([random.choice(password_chars) for _ in range(length)])

##########     User Interface - add .focues to export value for entry   ##########

char_input = Entry(text="Hello",
                   bg="#fb743e")
char_input.grid(row=1, column=1)
char_input.insert(0, "12")
char_input.focus()

Шаг 6 – Показать пароль в GUI

##########     Password Generator     ##########
### add .insert to show password
### add .delete to remove the last password

password_chars = string.ascii_letters + string.digits + string.punctuation

def password_generator():
    password_field.delete(0, END)
    length = int(char_input.get())
    password = "".join([random.choice(password_chars) for _ in range(length)])
    password_field.insert(0, password)

Шаг 7 – Скопировать в буфер обмена

import pyperclip 

##########     Password Generator     ##########
### import pyperclip and then add pyperclip.copy to copy password to clipboard

password_chars = string.ascii_letters + string.digits + string.punctuation

def password_generator():
    password_field.delete(0, END)
    length = int(char_input.get())
    password = "".join([random.choice(password_chars) for _ in range(length)])
    password_field.insert(0, password)
    pyperclip.copy(password)

Полный код:

from tkinter import *
import string
import random
import pyperclip

##########     Password Generator     ##########
password_chars = string.ascii_letters + string.digits + string.punctuation

def password_generator():
    password_field.delete(0, END)
    length = int(char_input.get())
    password = "".join([random.choice(password_chars) for _ in range(length)])
    password_field.insert(0, password)
    pyperclip.copy(password)

##########     User Interface     ##########
window = Tk()
window.title("Password Generator")
window.config(padx=50, pady=50, bg="#383e56")

label_title = Label(text="Password Generator",
                    bg="#383e56",
                    fg="#c5d7bd",
                    font=("Arial", 35, "bold"))
label_title.grid(row=0, column=0, columnspan=3, pady=30)

label_before_input = Label(text="I want a password with",
                           bg="#383e56",
                           fg="#c5d7bd",
                           font=("Arial", 15, "bold"))
label_before_input.grid(row=1, column=0)

char_input = Entry(bg="#fb743e")
char_input.grid(row=1, column=1)
char_input.insert(0, "12")
char_input.focus()

label_after_input = Label(text="characters.",
                          bg="#383e56",
                          fg="#c5d7bd",
                          font=("Arial", 15, "bold"))
label_after_input.grid(row=1, column=2)

generate_password_button = Button(text="Generate Password & Copy to Clipboard",
                                  bg="#fb743e",
                                  height=4,
                                  width=55,
                                  command=password_generator)
generate_password_button.grid(row=2, column=0, columnspan=3, padx=50, pady=50)

password_field = Entry(bg="#383e56",
                       font=("Arial", 15, "bold"), width=40)
password_field.grid(row=3, column=0, columnspan=3)

window.mainloop()

И генератор пароля сейчас готов:

Проект на Github: https://github.com/zsoltszakal/python-random-password-tkinter

Оригинал: “https://dev.to/zsoltszakal/pythonprojects-1-50-password-generator-with-gui-276p”