#setencoding=utf-8#用户名和密码输入正确,则登陆成功#用户名正确密码错误,只再输入密码,有3次机会#错误3次,则把用户名放入lock中importos,sys#存放用户名和密码的文件是E:\python\user.txtaccounts_file='E:\\python\\user.txt'#
被锁的用户要写入此文件lock_file='E:\\python\\lock.txt'#先读出来放内存中,免得每次输入用户后进行判断都要打开文件user=f
import redef check_password(passwd):
if re.match(r'^(?=.*[A-Za-z])(?=.*[0-9])\w{6,}$',passwd):
print "password %s correct"%passwd
return True
else:
print "password %s is invalid"%passwd
return False
函数check_password检查passwd必须由6个或以上的普通字符组成,必须有一个英文数字,一个英文字母,成功返回True,不符要求返回False
我们的任务就是把密码复杂度与强度量化,然后用计算机语言表达出来。密码复杂度很好定义,长度,大写字母,小写字母,数字和特殊符号,密码包含的特征越多也就越,强度也就越高。我们设置个等级来评测密码强度,分别是:terrible,simple,medium,strong。
不同的应用可能对密码强度的要求一样,我们引入最小长度(min_length)和最小特征数(mim_types)变成可配置选项。这样我们就可以检测密码包含的特征
通过不同的定义来写不同的判断,注意到逻辑的顺序就行,判断长度,判断出现的字符种类
还有就是自己跟着打的时候不要打错
然后没有什么了
然后就是很尴尬的迷之出错