DEV Community

Cover image for Password Generator in Python
Satish Chandra Gupta
Satish Chandra Gupta

Posted on • Updated on

Password Generator in Python

Why Create a Password Generator?

Passwords are the first line of defense against identity theft. They are the keys🔑 to your online accounts, and personal information. If someone gets access to your passwords, they can access your bank accounts, email, social media accounts, and more.

That’s why it’s so important to use strong passwords that are difficult to guess. But how do you create strong💪 passwords? That’s where password generators come in.

There are many online password generators that you can use to create strong passwords. But here I'll show you how to create your own password generator in Python🐍.

How to Create a Password Generator in Python, Step by Step 🚶‍♂️

Passwords are made up of different types of characters⌨ like letters📩, numbers, and symbols. To create a strong password, you need to use a combination of these characters. You also need to make sure that the password is long enough to be challenging to guess. The longer the password, the more difficult it is to guess.

So, to create a strong password🔑, you need to use a combination of letters, numbers, and symbols, and make sure that the password is long enough.

To create a password generator in Python, we need to create a string that contains all the letters, numbers, and special characters that we want to use in our password. Then, we need to randomly select characters from that string to create our password.

Let’s see👁 how to do that.

Article originally posted here.

  • First, we need to import the random module. This module contains functions that we can use to generate random numbers or to perform any random operation.

  • Now create a function that takes the length of the password as an argument. Also, it takes the next 4 more boolean arguments to decide whether to include letters, numbers, and special characters in the password. By default, all of these arguments are set to True.

  • Now create a string that contains all the letters, numbers, and special characters that we want to use in our password. We can do this by concatenating strings.

  • Now create an empty string that will contain our password.

  • Now create a for loop that iterates over the range of the length of the password. In each iteration, we randomly select a character from the string of characters and add it to our password.

  • Finally, return the value of the password variable.

import random
import string

def generate_password(length=8, upper=True, lower=True, numbers=True, symbols=True):
    # Create a string of characters to choose from
    chars = ''
    if upper:
        chars += string.ascii_uppercase
    if lower:
        chars += string.ascii_lowercase
    if numbers:
        chars += string.digits
    if symbols:
        chars += string.punctuation

    # Create the password
    password = ''
    for i in range(length):
        password += random.choice(chars)

    return password

print(generate_password()) # Output: &I+)|u@J
print(generate_password(15, symbols=False)) # Output: XfVy9k8YpYbuKD4
Enter fullscreen mode Exit fullscreen mode


So, that’s how you can create a password generator in Python. You can use this password generator to create strong passwords for your online accounts.

Visit the original article ⭐️password generator in python for a detailed explanation and better code with a password strength checker.

Top comments (3)

ldrscke profile image
Christian Ledermann

Instead of random you should use the secrets library

udanielnogueira profile image
Daniel Nogueira


fillyourboots profile image
John Doe

Good to me!