python实例31[生成随即的密码]
2013-03-24 19:29
671 查看
代码:
import random
import string
import time
# strong.high = 3 #random for the whole passwd
#storng.middle = 2 # include one special sign
#strong.ow = 1 # just include characters or digits
def mkpassByRandom(size=8, strong = 2):
chars = []
chars.extend([i for i in string.ascii_letters])
chars.extend([i for i in string.digits])
chars.extend([i for i in '\'"!@#$%&*()-_=+[{}]~^,<.>;:/?'])
passwd = ''
strong = int(strong)
if (strong <= 1) :
for i in range(size):
passwd += chars[random.randint(0,len(string.ascii_letters + string.digits) - 1)]
random.seed = int(time.time())
elif(strong == 2):
newpasswd = ''
for i in range(size - 1):
newpasswd +=chars[random.randint(0,len(string.ascii_letters + string.digits) - 1)]
random.seed = int(time.time())
newpasswd += chars[random.randint(len(string.ascii_letters + string.digits) , len(chars) - 1)]
ll = [ch for ch in newpasswd]
random.shuffle(ll)
for l in ll:
passwd += l
elif(strong >=3):
for i in range(size):
passwd += chars[random.randint(0, len(chars) - 1)]
random.seed = int(time.time())
random.shuffle(chars)
else:
pass
return passwd
def rule1(ch):
rulesdict = { 'o': 0, 'i':'!', 'b':8, 'p':'P', 'm':'M'}
newch = ch
if ch in rulesdict.keys():
newch = rulesdict[ch]
return newch
def rule2(ch):
if(ch.isupper()):
return ch.lower()
elif(ch.islower()):
return ch.upper()
return ch
def mkpassByRules(passwd, *rules ):
if (passwd == "" or len(rules) == 0):
return passwd
newpasswd = ""
for c in passwd:
r = random.randint(0, len(rules) - 1)
ch = (rules[r])(c)
newpasswd += str(ch)
return newpasswd
def mkpass(size = 8, strong = 2, initpasswd = ""):
if ( not initpasswd == ""):
return mkpassByRules(initpasswd, rule1, rule2)
else:
return mkpassByRandom(size,strong)
print( mkpass(initpasswd = "Password123"))
print( mkpass(strong = 1))
print( mkpass(strong = 2))
print( mkpass(strong = 3))
参考:http://code.activestate.com/recipes/577339-random-passwords/
完!
import random
import string
import time
# strong.high = 3 #random for the whole passwd
#storng.middle = 2 # include one special sign
#strong.ow = 1 # just include characters or digits
def mkpassByRandom(size=8, strong = 2):
chars = []
chars.extend([i for i in string.ascii_letters])
chars.extend([i for i in string.digits])
chars.extend([i for i in '\'"!@#$%&*()-_=+[{}]~^,<.>;:/?'])
passwd = ''
strong = int(strong)
if (strong <= 1) :
for i in range(size):
passwd += chars[random.randint(0,len(string.ascii_letters + string.digits) - 1)]
random.seed = int(time.time())
elif(strong == 2):
newpasswd = ''
for i in range(size - 1):
newpasswd +=chars[random.randint(0,len(string.ascii_letters + string.digits) - 1)]
random.seed = int(time.time())
newpasswd += chars[random.randint(len(string.ascii_letters + string.digits) , len(chars) - 1)]
ll = [ch for ch in newpasswd]
random.shuffle(ll)
for l in ll:
passwd += l
elif(strong >=3):
for i in range(size):
passwd += chars[random.randint(0, len(chars) - 1)]
random.seed = int(time.time())
random.shuffle(chars)
else:
pass
return passwd
def rule1(ch):
rulesdict = { 'o': 0, 'i':'!', 'b':8, 'p':'P', 'm':'M'}
newch = ch
if ch in rulesdict.keys():
newch = rulesdict[ch]
return newch
def rule2(ch):
if(ch.isupper()):
return ch.lower()
elif(ch.islower()):
return ch.upper()
return ch
def mkpassByRules(passwd, *rules ):
if (passwd == "" or len(rules) == 0):
return passwd
newpasswd = ""
for c in passwd:
r = random.randint(0, len(rules) - 1)
ch = (rules[r])(c)
newpasswd += str(ch)
return newpasswd
def mkpass(size = 8, strong = 2, initpasswd = ""):
if ( not initpasswd == ""):
return mkpassByRules(initpasswd, rule1, rule2)
else:
return mkpassByRandom(size,strong)
print( mkpass(initpasswd = "Password123"))
print( mkpass(strong = 1))
print( mkpass(strong = 2))
print( mkpass(strong = 3))
参考:http://code.activestate.com/recipes/577339-random-passwords/
完!
相关文章推荐
- python实例31[生成随即的密码]
- python实例31[生成随即的密码]
- python[生成随即的密码]
- python生成指定长度的随机数密码
- python实例31[自动挂载虚拟盘]
- Python实例31[批量对目录下文件重命名]
- 如何利用神经网络和Python生成指定模式的密码
- python 生成随机密码工具
- python 简单实例训练(31~40)
- python生成随机密码
- python密码错误三次锁定(实例讲解)
- 用python生成指定位数的密码
- python生成随机密码
- Python 生成随机密码
- Python写的组合密码生成脚本(针对TrueCrypt 加密磁盘密码搞忘了,用这个办法很有效)
- python语法31[包模块实例]
- python脚本随机生成8位数密码(导入模块)
- Python3 初学实践案例(8)使用 sqlite3 数据库存储生成的密码,prettytable 的使用
- 通过爬取天猫商品评论实例分析Python爬取ajax动态生成的数据
- 使用python脚本生成随机密码