20190110-生成密码以及简易密码强度检查
2019-01-10 07:50:23来源:博客园 阅读 ()
1.生成9位字母的密码
使用random.choice函数,此函数需要一个序列,因此给定一个序列包含a-z,A-Z
#step1:生成序列
import random
s1=''
for i in range(97,123):
s1+=chr(i)+chr(i-32)
#step2: 生成密码
password=''
for i in range(9):
password+=random.choice(s1)#从s1序列中随机选取一个元素
print('9位数的密码为:',password)
2:生成9位数字和字母的密码,密码可能随机出现数字和字母
此题在上一题的基础上先生成一个序列包含所有字母和数字,然后使用random.choice()函数
import random
s1=''
for i in range(97,123):
s1+=chr(i)+chr(i-32)
s1+='0123456789'
print(s1)
#生成包含小写字母和数字的序列
#另外一个写法
import string
s1 = string.ascii_letters+string.digits
password=''
for i in range(9):
password+=random.choice(s1)
print('随机密码为:',password)
3.检测密码强度
c1 : 长度>=8
c2: 包含数字和字母
c3: 其他可见的特殊字符
强密码条件:满足c1,c2,c3
中密码条件: 只满足任一2个条件
弱密码条件:只满足任一1个或0个条件
思路:先将c1,c2,c3三个条件写成函数,以Ture和False返回,True为满足,False为不满足
step1.写出3个条件函数
def check_len(password):
if len(password)>=8:
return True
#长度大于8则为True
else:
return False
def check_letter_type(password):
import string
result =False
for i in string.ascii_letters:
#大小写字母
if i in password:
#密码中包含字母
for j in string.digits:
#数字
if j in password:
#密码中包含数字
result =True
return result
def check_punctuation(password):
import string
result = False
for i in string.punctuation:
if i in password:
#密码中包含特殊字符
result =True
return result
check_len检查密码长度,check_letter_type检查密码中是否包含字母和数字,check_punctuation检查密码中是否包含特殊字符
step2:检查密码满足几个条件
def pass_verify(password):
count = 0
#使用count来记录password满足几个条件
if check_len(password):
count +=1
if check_letter_type(password):
count +=1
if check_punctuation(password):
count +=1
if count==3:
print("强密码")
elif count ==2:
print('中密码')
else:
print('弱密码')
pass_verify(password)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python学习日记(十) 生成器和迭代器 2019-08-13
- 利用python自动生成verilog模块例化模板 2019-08-13
- 手把手教你破解文件密码、wifi密码、网页密码 2019-07-24
- python学习-39 生成器总结 2019-07-24
- 单例模式 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash