Here is a very simple code to generate randomly a password with a predetermined size.
It would be better written with a switch case sentence instead of nested if-then-else sentences.
========================================================
import crypt
import string
from random import choice
class keyGenerator:
def __init__(self, password_size):
self.size = password_size
self.flag_letters = True
self.flag_digits = True
self.letters_lower = True
self.password_user = ''
def generatePassword(self):
# password with letters and digits
if ( (self.flag_letters == True) and (self.flag_digits == True) ):
self.password_user = ''.join ( [ choice(string.letters +
string.digits ) for i in range ( self.size ) ] )
else:
# password with digits, but without letters
if ( (self.flag_letter == False) and (self.flag_digits == True)):
self.password_user = ''.join ( [ choice( string.digits )
for i in range ( self.size ) ] )
else:
# password with letters, but without digits
if ( (self.flag_letter == True) and
(self.flag_digits == False)):
self.password_user = ''.join ( [ choice(string.letters )
for i in range ( self.size ) ] )
else:
print "Error: Letters and digits cannot be false
together! \n"
# password with letters lower or upper
if (self.letters_lower == True):
self.password_user = string.lower( self.password_user )
else:
self.password_user = string.upper( self.password_user )
def get_passwordUser(self):
return self.password_user
References:
Programming in Python - Generating a random string
Monday, November 3, 2008
Python - keyGenerator class
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment