首页 / PYTHON / Python密码强度
Python密码强度
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python密码强度,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2294字,纯文字阅读大概需要4分钟。
内容图文
![Python密码强度](/upload/InfoBanner/zyjiaocheng/697/97a5caa00dd34c57a9956ba3cbd7aa95.jpg)
参见英文答案 > Checking the strength of a password (how to check conditions) 4个
我在python上编写了一个密码强度代码,我试图找出我的密码(p)是否包含一个数字,我已经找到了如何查看它是否包含p.isupper()或p的大写和小写字母.islower().我也把它们放在一起了.我的朋友告诉我如何查看密码是否只包含数字,但我现在需要你的帮助.
running=True
while running:
p=raw_input("What is your Password? ")
if len(p) <6:
print "Your Password is too short"
if len(p) >12:
print "Your Password is too long"
if len(p) == 6 or 7 or 8 or 9 or 10 or 11 or 12:
print "Password Length OK"
running=False
print "Loop Broken" #this will be deleted, only for my help now
if p.isupper():
print "Your Password is weak as it only contains capital letters"
if p.islower():
print "Your Password is weak as it only contains lower case letters"
if p.isupper and p.islower:
print "Your Password is of medium strength, try adding some numbers"
try:
int(p)
print "Your Password is weak as it only contains numbers"
except (ValueError, TypeError):
pass
如果密码包含小写或大写字母和数字,我现在需要的是代码.
解决方法:
对我来说,正则表达式绝对是解决这个问题的最简单方法.
给定一个密码密码示例,您检查它的方式是:
import re
# Check if contains at least one digit
if re.search(r'\d', password):
print "Has a digit"
# Check if contains at least one uppercase letter
if re.search(r'[A-Z]', password):
print "Has uppercase letter"
# Check if contains at least one lowercase letter
if re.search(r'[a-z]', password):
print "Has lowercase letter"
对于其他部分,您可以继续使用.isupper()和.islower().
顺便说一下,这部分代码:
if p.isupper and p.islower:
print "Your Password is of medium strength, try adding some numbers"
不会按照你想要的方式运作.首先,你实际上没有调用方法,因为你没有放括号 – 你需要写p.isupper()和p.islower():.其次,这实际上并不是你想要的.您正在尝试检查它是否包含小写和大写数字.相反,你要检查它是完全大写还是全小写,显然它不能同时是两者,所以if语句总是返回False.相反,你会想要使用类似的东西:
if re.search(r'[a-z]', password) and re.search(r'[A-Z]', password):
或者,没有重新:
import string
if any(letter in string.ascii_lowercase for letter in password) and any(letter in string.ascii_uppercase for letter in password):
要么:
if any(letter.islower() for letter in password) and any(letter.isupper() for letter in password):
我碰巧喜欢re,因为它更简洁.
内容总结
以上是互联网集市为您收集整理的Python密码强度全部内容,希望文章能够帮你解决Python密码强度所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。