├── Password Generator.py └── README.md /Password Generator.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | def generatePassword(pwlength): 4 | 5 | alphabet = "abcdefghijklmnopqrstuvwxyz" 6 | 7 | passwords = [] 8 | 9 | for i in pwlength: 10 | 11 | password = "" 12 | for j in range(i): 13 | next_letter_index = random.randrange(len(alphabet)) 14 | password = password + alphabet[next_letter_index] 15 | 16 | password = replaceWithNumber(password) 17 | password = replaceWithUppercaseLetter(password) 18 | 19 | passwords.append(password) 20 | 21 | return passwords 22 | 23 | 24 | def replaceWithNumber(pword): 25 | for i in range(random.randrange(1,3)): 26 | replace_index = random.randrange(len(pword)//2) 27 | pword = pword[0:replace_index] + str(random.randrange(10)) + pword[replace_index+1:] 28 | return pword 29 | 30 | 31 | def replaceWithUppercaseLetter(pword): 32 | for i in range(random.randrange(1,3)): 33 | replace_index = random.randrange(len(pword)//2,len(pword)) 34 | pword = pword[0:replace_index] + pword[replace_index].upper() + pword[replace_index+1:] 35 | return pword 36 | 37 | 38 | 39 | def main(): 40 | 41 | numPasswords = int(input("How many passwords do you want to generate? ")) 42 | 43 | print("Generating " +str(numPasswords)+" passwords") 44 | 45 | passwordLengths = [] 46 | 47 | print("Minimum length of password should be 3") 48 | 49 | for i in range(numPasswords): 50 | length = int(input("Enter the length of Password #" + str(i+1) + " ")) 51 | if length<3: 52 | length = 3 53 | passwordLengths.append(length) 54 | 55 | 56 | Password = generatePassword(passwordLengths) 57 | 58 | for i in range(numPasswords): 59 | print ("Password #"+str(i+1)+" = " + Password[i]) 60 | 61 | 62 | 63 | main() 64 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Password-Generator-in-python --------------------------------------------------------------------------------