Python Password Generator
This commit is contained in:
43
random_password_gen.py
Normal file
43
random_password_gen.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import random
|
||||
import math
|
||||
|
||||
alpha = "abcdefghijklmnopqrstuvwxyz"
|
||||
num = "0123456789"
|
||||
special = "@#$%&*"
|
||||
|
||||
# pass_len=random.randint(8,13) #without User INput
|
||||
pass_len = int(input("Enter Password Length"))
|
||||
|
||||
# length of password by 50-30-20 formula
|
||||
alpha_len = pass_len//2
|
||||
num_len = math.ceil(pass_len*30/100)
|
||||
special_len = pass_len-(alpha_len+num_len)
|
||||
|
||||
|
||||
password = []
|
||||
|
||||
|
||||
def generate_pass(length, array, is_alpha=False):
|
||||
for i in range(length):
|
||||
index = random.randint(0, len(array) - 1)
|
||||
character = array[index]
|
||||
if is_alpha:
|
||||
case = random.randint(0, 1)
|
||||
if case == 1:
|
||||
character = character.upper()
|
||||
password.append(character)
|
||||
|
||||
|
||||
# alpha password
|
||||
generate_pass(alpha_len, alpha, True)
|
||||
# numeric password
|
||||
generate_pass(num_len, num)
|
||||
# special Character password
|
||||
generate_pass(special_len, special)
|
||||
# suffle the generated password list
|
||||
random.shuffle(password)
|
||||
# convert List To string
|
||||
gen_password = ""
|
||||
for i in password:
|
||||
gen_password = gen_password + str(i)
|
||||
print(gen_password)
|
||||
Reference in New Issue
Block a user