Hello readers, today we help you create your own password generator (Using Python). If you like this information, please share it with your friends. Give me a comment to improve my writing skills and subscribe by email for future updates.
Can we build our own password generator?
Yes, definitely can. And here we are going to show you how to do it.
Let's create a password generator.
The best thing about building your own password generator is that you can customize it to your liking.
So, without further ado, let's create a password generator using Python.
PREREQUISITES:
1. random 2 libraries (pip install random2)
2. array library (no need to install)
3. Any IDE (ex. VS Code, Pycharm, etc.)
Source Code
import random2
import array
# maximum length of password needed
# this can be changed to suit your password length
MAX_LEN = 12
# declare arrays of the character that we need in out password
# Represented as chars to enable easy string concatenation
DIGITS = ['e', '1', '2', '3', '4', '5', '6', '7', '8', '9']
LOCASE_CHARACTERS = ['a', 'b', 'c','d', 'e', 'f', 'g', 'h, 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y','z']
UPCASE_CHARACTERS = ['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']
SYMBOLS = ['@', '#', 'S', '%', '=', ':', '?', '.', '/', '|', '~', '>', '**', '(',')', '<']
# combines all the character arrays above to form one array
COMBINED_LIST = DIGITS+ UPCASE_CHARACTERS + LOCASE_CHARACTERS + SYMBOLS
# randomly select at least one character from each character set above
rand_digit = random2.choice (DIGITS)
rand_upper = random2. choice (UPCASE_CHARACTERS)
rand_lower = random2.choice (LOCASE_CHARACTERS)
rand_symbol = random2.choice (SYMBOLS)
# combine the character randomly selected above
# at this stage, the password contains only 4 characters but
# we want a 12-character password
temp_pass = rand_digit + rand_upper + rand_lower + rand_symbol
# now that we are sure we have at least one character from each
# set of characters, we fill the rest of
# the password length by selecting randomly from the combined
# list of character above.
for x in range (MAX_LEN 4):
temp_pass = temp_pass +
random2.choice (COMBINED_LIST)
# convert temporary password into array and shuffle to
# prevent it from having a consistent pattern
# where the beginning of the password is predictable
temp_pass_list = array.array('u', temp_pass)
random2.shuffle (temp_pass_list)
# traverse the temporary password array and append the chars
# to form the password
password = ""
for x in temp_pass_list:
password = password + x
# print out password
print (password)
Output
password_generator.py"
5m@hf2CJkxsJ
FoXjZ9D:4qjb
p)*m$53H3c19
8S43meI:pf%S
D$~4xF#dRr7D
Hurray! you have a complete strong password generator.
Conclusion
We have seen how to create a password generator from scratch. Can we add more features to it? Yeah, we can add as many as we want. But, make sure that the resultant password is strong enough.
Generate the passwords from the code and use them for your next online account.
Happy Coding!
Thanks for Reading!
If you learned at least one thing with this post, then share the post. There is no expert who can remain an expert without sharing their knowledge. So, keep sharing your knowledge with everyone.