100 Days of code (Python course by Angela) project 6
Strong Password Generator
Introduction:
The Strong Password Generator is a project I developed to enhance the security of user accounts by generating strong and unique passwords. The project makes use of the string_util module for efficient character shuffling, ensuring the passwords generated are both randomized and robust.
Key Features:
Randomized Password Generation: The generator utilizes a combination of uppercase and lowercase letters, numbers, and special characters to create unique and secure passwords. This randomness makes it extremely difficult for malicious users to guess or crack the passwords.
Configurable Password Length: The project allows users to specify the desired length of the generated passwords, providing flexibility to meet specific password requirements. Whether it's a short and memorable password or a long and complex one, the generator can cater to diverse needs.
Efficient Character Shuffling: The string_util module integrated into the project ensures efficient character shuffling, guaranteeing that each password generated is distinct and not easily predictable. This adds an additional layer of security by preventing patterns or repetitions in the passwords.
User-Friendly Interface: The password generator features a user-friendly interface, making it easy for individuals of all technical levels to generate strong passwords quickly. The interface allows users to specify their preferences and provides a convenient way to copy the generated password for immediate use.
Overall, the Strong Password Generator project demonstrates my ability to implement effective security measures and deliver practical solutions to enhance user account protection. It showcases my proficiency in utilizing external modules, ensuring code efficiency, and creating user-friendly interfaces.
Technologies Used: Python, string_util module
Source Code:
#Password Generator Project
import randomimport string_utilsletters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']print("Welcome to the PyPassword Generator!")num_of_letters= int(input("How many letters would you like in your password?\n"))num_of_symbols = int(input(f"How many symbols would you like?\n"))num_of_digits = int(input(f"How many numbers would you like?\n"))#Here is three for loops for choosing letters, symbols, and numbers, store them in a string variable password.password = ""for letter in range(1, num_of_letters +1):password += random.choice(letters)for letter in range(1, num_of_symbols +1):password += random.choice(symbols)for letter in range(1, num_of_digits +1):password += random.choice(numbers)#here we use a string_utils module for shuffling the password we have.print("Your Password is : " + string_utils.shuffle(password))