-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRandom password generator
31 lines (27 loc) · 1.25 KB
/
Random password generator
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
#### Random Password Generator ####
import string
def generate_password(length,use_uppercase,use_lowercase,use_digits,use_special_chars):
characters=""
if use_uppercase:
characters+=string.ascii_uppercase
if use_lowercase:
characters+=string.ascii_lowercase
if use_digits:
characters+=string.digits
if use_special_chars:
characters+=string.punctuation
if not characters:
return "Invalid criteria for password generation"
password=''.join(random.choice(characters) for _ in range(length))
return password
def get_user_input():
length=int(input("Enter password length:"))
use_uppercase=input("Include uppercase letters? (y/n):").lower()=="y"
use_lowercase=input("Include lowercase letters? (y/n):").lower()=="y"
use_digits=input("Include digits? (y/n):").lower()=="y"
use_special_chars=input("Incluse special characters? (y/n):").lower()=="y"
return length,use_uppercase,use_lowercase,use_digits,use_special_chars
if __name__=="__main__":
length,use_uppercase,use_lowercase,use_digits,use_special_chars=get_user_input()
password=generate_password(length,use_uppercase,use_lowercase,use_digits,use_special_chars)
print(f"Your generated password: {password}")