From 88e52187e17ec351b5a91473ed3ddf2d896e2909 Mon Sep 17 00:00:00 2001 From: Peter Date: Sat, 13 Dec 2025 22:51:46 -0500 Subject: [PATCH 1/2] organized imports to pep8 standard --- password_generator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/password_generator.py b/password_generator.py index e43140f..d8f3c3d 100644 --- a/password_generator.py +++ b/password_generator.py @@ -1,6 +1,7 @@ +import argparse import random import string -import argparse + def generate_password(length, use_upper, use_lower, use_digits, use_symbols): characters = '' From ada6f19e9e85c51233cb9ed08a95def281f6fe99 Mon Sep 17 00:00:00 2001 From: Peter Date: Sat, 13 Dec 2025 23:35:44 -0500 Subject: [PATCH 2/2] removed common illegal chars for pswds and replaced random with secrets random is pseudorandom and follows an alogirthm that could be reverse engineered making secrets a better choice for password generation! --- password_generator.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/password_generator.py b/password_generator.py index d8f3c3d..b2649b6 100644 --- a/password_generator.py +++ b/password_generator.py @@ -1,10 +1,11 @@ import argparse -import random +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: @@ -12,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):