Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- #
- # by Tesla and thanks to Mad_Dev
- import sys
- import string
- import random
- import argparse
- WHITE = '\033[97m'
- GREEN = '\033[92m'
- NORMAL = '\003[0m'
- parser = argparse.ArgumentParser(description = 'Generate random password')
- parser.add_argument("-d", metavar = "", type = int, help = "number of digits")
- parser.add_argument("-l", metavar = "", type = int, help = "number of lower case char")
- parser.add_argument("-u", metavar = "", type = int, help = "number of upper case char")
- parser.add_argument("-s", metavar = "", type = int, help = "number of spacial char")
- parser.add_argument("-o", metavar = "", help = "output to store the password")
- parser.add_argument("-n", metavar = "", help = "append name to generated password")
- if len(sys.argv) == 1:
- sys.argv.append('-h')
- lenght = 30
- passwd = string.digits + string.ascii_lowercase + string.punctuation + string.ascii_uppercase
- print('')
- print(WHITE + 'Password: ' + GREEN + ''.join(random.choice(passwd) for x in range(lenght)) + NORMAL)
- print('')
- args = parser.parse_args()
- i = 0
- passwd = ''
- if args.d is not None :
- while i < args.d :
- passwd += ''.join(random.choice(string.digits))
- i += 1
- if args.l is not None :
- i = 0
- while i < args.l :
- passwd += ''.join(random.choice(string.ascii_lowercase))
- i += 1
- if args.s is not None :
- i = 0
- while i < args.s :
- passwd += ''.join(random.choice(string.punctuation))
- i += 1
- if args.u is not None :
- i = 0
- while i < args.u :
- passwd += ''.join(random.choice(string.ascii_uppercase))
- i += 1
- if args.o is not None:
- doc = open(args.o, 'a')
- if args.n is None:
- args.n = '<empty>'
- doc.write(args.n + '::' + passwd + '\n')
- doc.close()
- shuffle = list(passwd)
- random.shuffle(shuffle)
- passwd = ''.join(shuffle)
- print(WHITE + 'Password: ' + GREEN + passwd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement