Python关于检测密码强度的问题

defcheck_password(passwd):写一个程序,要判断passwd包含至少一个数字,一个大小写字母,len(passwd)>=6百思不得其解,试过pass... def check_password(passwd):
写一个程序, 要判断passwd包含至少一个数字,一个大小写字母,len(passwd)>=6
百思不得其解, 试过passwd in set这一类 不好使啊 求助!!
展开
 我来答
albumin
推荐于2018-03-21 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2349万
展开全部
import re
def 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

自由de王国
2014-01-31 · TA获得超过1066个赞
知道小有建树答主
回答量:661
采纳率:50%
帮助的人:835万
展开全部

用正则。不过不知道你说的一个大小写字母是指要有一个字母,大小写都可以啊,还是指大写小写字母各一个?

如果是前者:

def check_password(passwd):
p = re.compile(r'^(?=.*?\d)(?=.*?[a-zA-Z]).{6,}$')
return p.match(passwd)

如果是后者:

def check_password(passwd):
p = re.compile(r'^(?=.*?\d)(?=.*?[a-z])(?=.*?[A-Z]).{6,}$')
return p.match(passwd)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tim_spac
2014-01-31 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2005万
展开全部
import re

def check_digit(pwd):
    return len(re.findall('\d', pwd)) > 0
def check_asc_upper(pwd):
    return len(re.findall('[A-Z]', pwd)) > 0
def check_asc_lower(pwd):
    return len(re.findall('[a-z]', pwd)) > 0

def check_password(password):
    return check_digit(password) \
        and check_asc_upper(password) \
        and check_asc_lower(password)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式