Generating Strong Password using Python.

Generating Strong Password using Python.

Having a weak password is not good for a system that demands high confidentiality and security of user credentials. It turns out that people find it difficult to make up a strong password that is strong enough to prevent unauthorized users from memorizing it.

This article uses a mixture of numbers, alphabets, and other symbols found on the computer keyboard to form a 12-character password which is unpredictable and cannot easily be memorized.

The components of the password are represented in the form of arrays. Use the random method to select at least one character from each array of characters. Since the 12-character password is required, so fill the rest of the length of the password left with randomly selected characters from an array formed from the combination of all the characters needed in the final password. Anytime the password is generated, shuffle the password using random.shuffle() to ensure that the final password does not follow a particular pattern.

import string
import random

if __name__ == "__main__":
    # Letter Sets
    s1 = string.ascii_letters
    s2 = string.digits
    s3 = string.punctuation
    service_name = input("Enter the site: ") #enter the name of the site for which you are generating password
    plen = int(input("Enter the password length: "))

    # Combining all the sets
    s = []
    s.extend(list(s1))
    s.extend(list(s2))
    s.extend(list(s3))
    # print(s)
    random.shuffle(s)
    # print (s)

    print("Your password is: ")
    print("".join(s[0:plen]))

    # Saving the password in the file
    file = open("pass.txt", "a")
    file.write(f"\n{service_name} : ")
    file.write("".join(s[0:plen]))
    file.close()

    print("Password has been saved in the file.")

output:

yf2byU$@zTg5