Unbewohnte
4 years ago
committed by
GitHub
2 changed files with 203 additions and 0 deletions
@ -0,0 +1,203 @@
|
||||
import random |
||||
#import sys |
||||
import string |
||||
from tkinter import * |
||||
import tkinter.font as font |
||||
|
||||
# ########################################### |
||||
digits = list(string.digits*10 + string.ascii_lowercase*10) |
||||
uppercase = list(string.ascii_uppercase + string.ascii_lowercase)*30 |
||||
lowercase = list(string.ascii_lowercase)*30 |
||||
punct = list(string.ascii_lowercase*10 + string.punctuation*5) |
||||
|
||||
upp_dig = list(string.digits*10 + string.ascii_lowercase*10 + string.ascii_uppercase*10) |
||||
upp_dig_pun = list(string.digits*10 + string.ascii_lowercase*10 + string.ascii_uppercase*10 + string.punctuation*5) |
||||
digits_pun = list(string.ascii_lowercase*10 + string.digits*10 + string.punctuation*5) |
||||
upp_pun = list(string.ascii_lowercase*10 + string.ascii_uppercase*10 +string.punctuation*5) |
||||
# ########################################### |
||||
|
||||
|
||||
# GUI |
||||
uppercase_status = False |
||||
digits_status = False |
||||
punct_status = False |
||||
back = '#B9B9B9' |
||||
def change_uppercase(): |
||||
global uppercase_status |
||||
if uppercase_status == False: |
||||
uppercase_status = True |
||||
else: |
||||
uppercase_status = False |
||||
pass |
||||
|
||||
def change_digits(): |
||||
global digits_status |
||||
if digits_status == False: |
||||
digits_status = True |
||||
else: |
||||
digits_status = False |
||||
pass |
||||
|
||||
def change_punct(): |
||||
global punct_status |
||||
if punct_status == False: |
||||
punct_status = True |
||||
else: |
||||
punct_status = False |
||||
pass |
||||
|
||||
def generate(): |
||||
clear() |
||||
########################## FUNCTIONS |
||||
def simplegen(): |
||||
global rand_simp |
||||
rand_simp = random.sample(lowercase, length_value) |
||||
return rand_simp |
||||
|
||||
def uppergen(): |
||||
global rand_up |
||||
rand_up = random.sample(uppercase, length_value) |
||||
return rand_up |
||||
|
||||
def digigen(): |
||||
global rand_dig |
||||
rand_dig = random.sample(digits, length_value) |
||||
return rand_dig |
||||
|
||||
def pungen(): |
||||
global rand_pun |
||||
rand_pun = random.sample(punct, length_value) |
||||
return rand_pun |
||||
|
||||
def upper_dig(): |
||||
global rand_up_dig |
||||
rand_up_dig = random.sample(upp_dig, length_value) |
||||
return rand_up_dig |
||||
|
||||
def upper_dig_pun(): |
||||
global rand_up_dig_pun |
||||
rand_up_dig_pun = random.sample(upp_dig_pun, length_value) |
||||
return rand_up_dig_pun |
||||
|
||||
def dig_pun(): |
||||
global rand_dig_pun |
||||
rand_dig_pun = random.sample(digits_pun, length_value) |
||||
return rand_dig_pun |
||||
|
||||
def upper_pun(): |
||||
global rand_up_pun |
||||
rand_up_pun = random.sample(upp_pun, length_value) |
||||
return rand_up_pun |
||||
########################## |
||||
length_value = scale_length.get() |
||||
#### IF ALL ARE FALSE: |
||||
if uppercase_status == False and digits_status == False and punct_status == False: |
||||
simplegen() |
||||
password_low = ''.join(rand_simp) |
||||
maintext.insert('1.999999999', password_low) |
||||
pass |
||||
if uppercase_status == True and digits_status == False and punct_status == False: |
||||
uppergen() |
||||
password_up = ''.join(rand_up) |
||||
maintext.insert('1.999999999', password_up) |
||||
pass |
||||
if uppercase_status == False and digits_status == True and punct_status == False: |
||||
digigen() |
||||
password_dig = ''.join(rand_dig) |
||||
maintext.insert('1.999999999', password_dig) |
||||
pass |
||||
if uppercase_status == False and digits_status == False and punct_status == True: |
||||
pungen() |
||||
password_pun = ''.join(rand_pun) |
||||
maintext.insert('1.999999999', password_pun) |
||||
pass |
||||
if uppercase_status == True and digits_status == True and punct_status == False: |
||||
upper_dig() |
||||
password_up_dig = ''.join(rand_up_dig) |
||||
maintext.insert('1.999999999', password_up_dig) |
||||
pass |
||||
|
||||
if uppercase_status == True and digits_status == True and punct_status == True: |
||||
upper_dig_pun() |
||||
password_up_dig_pun = ''.join(rand_up_dig_pun) |
||||
maintext.insert('1.999999999', password_up_dig_pun) |
||||
pass |
||||
if uppercase_status == False and digits_status == True and punct_status == True: |
||||
dig_pun() |
||||
password_dig_pun = ''.join(rand_dig_pun) |
||||
maintext.insert('1.999999999', password_dig_pun) |
||||
pass |
||||
if uppercase_status == True and digits_status == False and punct_status == True: |
||||
upper_pun() |
||||
password_up_pun = ''.join(rand_up_pun) |
||||
maintext.insert('1.999999999', password_up_pun) |
||||
pass |
||||
pass |
||||
|
||||
def copy(): |
||||
text_copy = str(maintext.get(1.0,END)) |
||||
root.clipboard_clear() |
||||
root.clipboard_append(text_copy) |
||||
root.update() |
||||
pass |
||||
|
||||
def clear(): |
||||
maintext.delete('0.0', END) |
||||
pass |
||||
|
||||
root = Tk() |
||||
root.title('Password Generator') |
||||
img = PhotoImage(file = 'icon.png') |
||||
root.tk.call('wm','iconphoto', root._w, img) |
||||
root.geometry(("700x300")) |
||||
root.minsize(700,300) |
||||
root.maxsize(700,300) |
||||
canvas = Canvas(root,width = 700,height = 300, bg = back) |
||||
canvas.pack() |
||||
|
||||
maintext = Text(root, wrap = WORD) |
||||
maintext_font = font.Font(size = 20) |
||||
maintext['font'] = maintext_font |
||||
maintext.place(width = 550, height = 140,x = 700-550-75-50,y = 150) |
||||
|
||||
|
||||
check_for_uppercases = Checkbutton(root ,text = "Uppercase", bg = back) |
||||
check_for_uppercases.config(command = change_uppercase) |
||||
check_for_uppercases.place(height = 46,x = 10, y = 5) |
||||
|
||||
|
||||
|
||||
check_for_digits = Checkbutton(root, text = "Digits", justify = "left", bg = back) |
||||
check_for_digits.config(command = change_digits) |
||||
check_for_digits.place(height = 50,x = 10, y = 50) |
||||
|
||||
|
||||
check_for_punct = Checkbutton(root, text = "Punctuation", bg = back) |
||||
check_for_punct.config(command = change_punct) |
||||
check_for_punct.place(height = 50,x = 10, y = 95) |
||||
|
||||
|
||||
generate_button = Button(root, text = "Generate", bg = back) |
||||
generate_button.config(command = generate) |
||||
generate_button.place(x = 590, y = 150, width = 100) |
||||
|
||||
save_to_button = Button(root, text = "Copy", bg = back) |
||||
save_to_button.config(command = copy) |
||||
save_to_button.place(x = 590, y = 190, width = 100) |
||||
|
||||
clear_button = Button(root, text = 'Clear', bg = back) |
||||
clear_button.config(command = clear) |
||||
clear_button.place(x = 590, y = 230 , width = 100) |
||||
|
||||
copyright = Label(root, text = '©Unbewohnte', bg = back) |
||||
copyright.place(x = 590 ,y = 280) |
||||
|
||||
scale_length = Scale(root, orient = "horizontal", length = 200, from_ = 1, bg = back) |
||||
scale_length.place(x = 370,y = 0) |
||||
label_length = Label(root, text = "The length :", bg = back) |
||||
label_length.place(x = 270,y = 20) |
||||
|
||||
|
||||
# ©Unbewohnte |
||||
|
||||
root.mainloop() |
After Width: | Height: | Size: 6.4 KiB |
Loading…
Reference in new issue