我一直在努力让密码创建者为评估创建密码,如果密码中没有至少2个数字,则需要的其中一项是打印错误,要求输入密码至少两个数字。我不知道该怎么做,我只是想知道你是否可以给我一些关于如何在代码中做到这一点的提示。
提前致谢
答案 0 :(得分:2)
您可以尝试使用regular expressions:
import re
passw = 'hell1owo2rld'
if re.match('.*[0-9].*[0-9].*', passw):
print 'Password is ok'
else
print 'Please use at least two numbers'
答案 1 :(得分:0)
您可以使用字符串方法,列表推导和len
:
if len([x for x in your_password_variable if x.isdigit()]) >= 2:
print "OK"
else:
print "You need at least 2 numbers"
答案 2 :(得分:0)
如果问题确实是要创建一个新密码,我会解释如何做,但没有代码:
如果您需要安全密码,请使用random.SystemRandom()
。
首先从允许的字符集中创建N个字符,其中N是密码的长度。然后检查是否至少有2位数字。如果少于2位数的字符,则删除1或2个非数字字符并添加随机数字,以便至少有这2个数字。最后使用shuffle()
来置换您的密码。这样你的密码就有了最大的熵。