diff --git a/password_generator.py b/password_generator.py index e43140f..b2649b6 100644 --- a/password_generator.py +++ b/password_generator.py @@ -1,9 +1,11 @@ -import random -import string import argparse +import secrets +import string + def generate_password(length, use_upper, use_lower, use_digits, use_symbols): characters = '' + illegal_chars = "\"\';{}[]()|\\<>:," if use_upper: characters += string.ascii_uppercase if use_lower: @@ -11,12 +13,12 @@ def generate_password(length, use_upper, use_lower, use_digits, use_symbols): if use_digits: characters += string.digits if use_symbols: - characters += string.punctuation + characters += ''.join(i for i in string.punctuation if i not in illegal_chars) if not characters: raise ValueError("At least one character type must be selected.") - password = ''.join(random.choice(characters) for _ in range(length)) + password = ''.join(secrets.choice(characters) for _ in range(length)) return password def save_password(password):