Amazing-Python-Scripts

Форк
0
85 строк · 2.4 Кб
1
import random
2
import pyperclip
3
from tkinter import *
4
from tkinter.ttk import *
5

6

7
def getStrength():
8
    entry.delete(0, END)
9
    length = var1.get()
10
    lower = "abcdefghijklmnopqrstuvwxyz"
11
    upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
12
    digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 !@#$%^&*()"
13
    password = ""
14

15
    # if strength selected is low
16
    if var.get() == 1:
17
        for i in range(0, length):
18
            password = password + random.choice(lower)
19
        return password
20

21
    # if strength selected is medium
22
    elif var.get() == 0:
23
        for i in range(0, length):
24
            password = password + random.choice(upper)
25
        return password
26

27
    # if strength selected is strong
28
    elif var.get() == 3:
29
        for i in range(0, length):
30
            password = password + random.choice(digits)
31
        return password
32
    else:
33
        print("Please choose an option")
34

35

36
# Function for generation of password
37
def generate():
38
    password1 = getStrength()
39
    entry.insert(10, password1)
40

41

42
# Function for copying password to clipboard
43
def copy():
44
    random_password = entry.get()
45
    pyperclip.copy(random_password)
46

47

48
# create GUI window
49
root = Tk()
50
var = IntVar()
51
var1 = IntVar()
52

53

54
# Title of the GUI window
55
root.title("Password Generator")
56

57
# create label for length of password
58
c_label = Label(root, text="Length")
59
c_label.grid(row=0)
60
copy_button = Button(root, text="Copy", command=copy)
61
copy_button.grid(row=0, column=2)
62
generate_button = Button(root, text="Generate", command=generate)
63
generate_button.grid(row=0, column=3)
64

65
radio_low = Radiobutton(root, text="Low", variable=var, value=1)
66
radio_low.grid(row=1, column=2, sticky='E')
67
radio_middle = Radiobutton(root, text="Medium", variable=var, value=0)
68
radio_middle.grid(row=1, column=3, sticky='E')
69
radio_strong = Radiobutton(root, text="Strong", variable=var, value=3)
70
radio_strong.grid(row=1, column=4, sticky='E')
71
combo = Combobox(root, textvariable=var1)
72
combo['values'] = (8, 9, 10, 11, 12, 13, 14, 15, 16,
73
                   17, 18, 19, 20, 21, 22, 23, 24, 25,
74
                   26, 27, 28, 29, 30, 31, 32)
75
combo.current(0)
76
combo.bind('<<ComboboxSelected>>')
77
combo.grid(column=1, row=0)
78
Random_password = Label(root, text="Generated password", padding=5)
79
Random_password.grid(row=1)
80
entry = Entry(root)
81
entry.grid(row=1, column=1)
82

83

84
# run the GUI continuously
85
root.mainloop()
86

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.