-->

基于python开发之 - 密码复杂度检测脚本


貌似好久来博客囖,最近很忙,忙着学习、忙着工作、忙着吃饭.....O(∩_∩)O哈哈~忙够了,还是继续写小程序练手吧!今天带来的是一个检测密码深度的脚本,它有3个评定级别,当输入的密码低于8位时,程序会自动判定密码为弱密码,大于8位且低于16位数且密码包含了字母+数字 或者密码大于8低于16且密码包含数字或字母+特殊字符,则判定为中等级别同时给密码打印出2个星,如果密码超过16个字符且包含了数字、字母、特殊字符,则密码深度为高,并同时打印出3个星,注:本程序未调用正则等高级语法实现,所以看上去似乎比较笨重,几乎都是通过if.....else实现,感兴趣的朋友可以自己修改成您的方案,比如可以实现判断非空,因为用户可能会很调皮的直接不输入内容就想测试,如果此时有个文明的非空报错,看起来也会很不错!好啦,那么下面就该贴上代码啦!



__author__ = 'acer'
#coding: utf-8
tem = r'''~!@#$%^&*()_=-/,.?<>;:[]{}|\\'''
def Ad_pass(ps,flog):
if (len(ps) <= 8) :
flog = '低☆☆☆'
print('您的密码安全系数较:%s\n请以以下方式提升您的密码安全级别:'%flog)
print(' 1.密码必须由数字、字母及特殊字符三种组合')
print(' 2.密码只能由字母开头')
print(' 3.密码长度不能低于8位')
print("当前的密码长度为:%d" % len(ps))
else:
for i in tem:
if i in ps:
if len(ps) <= 16 or (len(ps) <= 16 and ps.isalnum() == False):
flog = '中★★☆'
print('您的密码安全系数较:%s\n请以以下方式提升您的密码安全级别:' % flog)
print(' 1.密码必须由数字、字母及特殊字符三种组合')
print(' 2.密码只能由字母开头')
print(' 3.密码长度不能低于8位')
print("当前的密码长度为:%d"%len(ps))
break
elif (len(ps) > 16) and (ps.isalnum() == False):
flog = '高★★★'
print('您的密码安全系数较:%s\n请以以下方式提升您的密码安全级别:' % flog)
print('请继续保持!')
print("当前的密码长度为:%d" % len(ps))
break
else:
if len(ps) <= 16 or (len(ps) <= 16 and ps.isalnum() == False):
flog = '中★★☆'
print('您的密码安全系数较:%s\n请以以下方式提升您的密码安全级别:' % flog)
print(' 1.密码必须由数字、字母及特殊字符三种组合')
print(' 2.密码只能由字母开头')
print(' 3.密码长度不能低于8位')
print("当前的密码长度为:%d" % len(ps))
break
while True:
tab_inp = input('请输入需要检查的密码组合:')
Ad_pass(tab_inp, True)
choose = input('按Q退出本程序,否则请按回车键继续:').upper()
if choose == 'Q':
break

1 条评论: