Last Updated:

PassGen: Secure Password Generator

essarouri
essarouri

A Password Generator is a dedicated utility that allows users to create random, customized, and complex passwords for different online accounts. These nifty tools help users to produce lengthy and tough passwords via a combination of numbers, letters (with uppercase or lowercase), and special characters (like asterisks, slashes, braces, etc.)

Using PassGen, you can easily safeguard your Facebook account, Gmail account, and pretty much everything that should be a shield with complex passwords for access.

I write this little tool in python to help you generate powerful and complex passwords.

If you like to use it I also compiled it into an installer file for Windows you can download it by clicking the link below 

PassGen v1.0 setup

the source code :

from tkinter import *
import string
import random
import pyperclip

main = Tk()
main.iconbitmap('i.ico')
main.config(bg = 'white')
main.wm_title("PassGen v1.0")
main.geometry('270x150')
main.eval('tk::PlaceWindow . center')
main.resizable(width=False, height=False)


characters = list(string.ascii_letters + string.digits + "!@#$%^&*()")
def GenRanPass():
    random.shuffle(characters)
    password = []
    for i in range(15):
        password.append(random.choice(characters))
    random.shuffle(password)
    GenRanPass.GenP = "".join(password)

b1=Button(main,text="GenPass",font=40,command=lambda:[GenRanPass(),PrintGenPass(GenRanPass.GenP)])
b1.grid(row=4,column=5)
b1.place(x=60,y=60)

b2=Button(main,text="Copy",font=40,command=lambda:[Copy()])
b2.grid(row=4,column=5)
b2.place(x=150,y=60)

def PrintGenPass(text):
    e1.delete(0,END)
    e1.insert(0,text)
    PrintGenPass.t += 1
    return
 
PrintGenPass.t = 0

def Copy():
    if PrintGenPass.t == 0:
        pass
    else:
        pyperclip.copy(GenRanPass.GenP)

e1 = Entry(main, bd = 0,font = ("Calibri",12),  width = 20)
e1.pack(padx=65,pady=20)

l1=Label(main, bg="white", font = ("Calibri",10), text="essarouri.com")
l1.place(x=88,y=120)

main.mainloop()