loading...

Password generator using python

oxy_oxide profile image Hamza Hesham ・1 min read

Hello, today we will make a simple password generator program using python.
first, we will import random and make 2 new variables:

import random 
chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-+=!@#$%^&*"
length_of_pass = int(input("num of letters:"))

Second, we will define a function that has one parameter called "num",
Inside the function we will make a new empty variable called password , After that we will loop in the range of "num" using "for loop", Inside the loop we will we will use the random module and add the result to password, outside the for loop we will return password:

def pass_generator(num):
    password = ''
    for i in range(num):
        password += random.choice(chars)
    return password

The last thing we will call the function with the parameter "length_of_pass".
the whole code:

import random 
chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-+=!@#$%^&*"
length_of_pass = int(input("num of letters:"))
def pass_generator(num):
    password = ''
    for i in range(num):
        password += random.choice(chars)
    return password
print(pass_generator(length_of_pass))

Don't forget to follow me!
Thanks for reading.

Discussion

pic
Editor guide
 

Nice post. Two suggestions:

Use string constants to define possible characters:

import string
chars = string.letter + string.digits + string.punctuation

Often “simple for loops” can be prevented in Python. In this case, you can do:

return “”.join(random.choices(chars, k=num))

Or if you insist on using choice:
return “”.join(random.choice(chars) for _ in range(num))

 

I appreciate your work, you gave a good idea.I was thinking about this lately.. I will make use of this logic.
However i see a problem that at some cases the password might not have numbers or special characters for smaller lengths.. and for strong password those are specifically recommended.

 

OK I Agree but who will use password generator for a small password , And all the passwords these days must have numbers and special characters .

 

Thanks!