-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
51 lines (40 loc) · 1.74 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import random
import string
import pyperclip
def generate_simple_password():
lowercase_letters = string.ascii_lowercase
digits = string.digits
num_lowercase = 6
num_digits = 2
password = (
''.join(random.choice(lowercase_letters) for _ in range(num_lowercase)) +
''.join(random.choice(digits) for _ in range(num_digits))
)
return ''.join(random.sample(password, len(password)))
def generate_strong_password():
characters = string.ascii_letters + string.digits + "/.,_"
return ''.join(random.choice(characters) for _ in range(random.randint(9, 12)))
def main():
first_time = True
while True:
if first_time:
print("Выберите тип пароля:")
print("1. Простой пароль (8 символов, строчные буквы и 2 цифры)")
print("2. Сложный пароль (9-12 символов с прописными и строчными буквами, цифрами, спец символами: /, ., , или _)")
print("0. Выйти")
first_time = False
choice = input("Введите номер выбора (0, 1 или 2): ")
if choice == "0":
print("Выход из программы.")
break
elif choice == "1":
password = generate_simple_password()
elif choice == "2":
password = generate_strong_password()
else:
print("Неверный выбор. Пожалуйста, введите 0, 1 или 2.")
continue
pyperclip.copy(password)
print(f"Ваш пароль: {password} (скопирован в буфер обмена)")
if __name__ == "__main__":
main()