【Python打卡2019】20190430之判断密码强弱
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Python打卡2019】20190430之判断密码强弱,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2405字,纯文字阅读大概需要4分钟。
内容图文
![【Python打卡2019】20190430之判断密码强弱](/upload/InfoBanner/zyjiaocheng/830/abe5fea63688424f90003d97529731a0.jpg)
0.目标描述
- 我们在使用各类网站或系统的时候,经常会遇到系统要求你设置的密码符合一定的要求才能通过;
- 有时候还会根据密码的强度给你标上【强】【中等】【弱】等等;
- 实际上,密码的强度指的是破解的理论平均次数;
- 今天我就用Python实现一下这个判断的过程。
1.密码判断指标设定
- 首先,密码长度要介于8-16位之间;
- 其次,密码中需要包含字母;
- 此外,密码中需要包含数字;
- 最后,密码尝试修改次数不大于3次。
2.实现与结果
注释很详细,应该很容易看懂。
"""
实现密码强度的判断
输入:密码字符串
输出:密码强度
过程:若不符合要求重复修改
要求为:
- 首先,密码长度要介于**8-16**位之间;
- 其次,密码中需要**包含字母**;
- 此外,密码中需要**包含数字**;
- 最后,密码尝试修改次数不大于**3次**。
"""
# 给密码评级,符合一个要求即加一颗星
def rank_password(password):
pwd_rank = 0
if has_number(password): # 判断密码中是否存在数字,存在则评价加1
pwd_rank += 1
if has_letter(password): # 判断密码中是否存在字母,存在则评级加1
pwd_rank += 1
if 8 <= len(password) <= 16: # 如果密码长度符合要求则评级加1
pwd_rank += 1
if pwd_rank == 3:
print("密码强度:强(☆☆☆)")
elif pwd_rank == 2:
print("密码强度:中等(☆☆)")
elif pwd_rank == 1:
print("密码强度:弱(☆)")
print("密码设置不成功!") # 如果仅有一条标准符合,则返回失败
return False
print("密码设置成功!")
return True
# 判断密码当中是否存在数字
def has_number(pwd):
for c in pwd:
if c.isnumeric():
return True
return False
# 判断密码当中是否存在字母
def has_letter(pwd):
for c in pwd:
if c.isalpha():
return True
return False
# 接收用户输入,并传入方法当中
def main():
setting_times = 1
while setting_times <= 3:
pwd = input("请输入密码:")
if rank_password(pwd): # 如果密码设置成功,则跳出循环
break
else:
setting_times += 1
if setting_times > 3: # 如果密码设置次数到达上限,则输出提示
print("尝试次数超过上限(3次)!密码设置失败!")
if __name__ == '__main__':
main()
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/PasswordReliablity/PasswordRank.py
请输入密码:123
密码强度:弱(☆)
密码设置不成功!
请输入密码:123yh
密码强度:中等(☆☆)
密码设置成功!
Process finished with exit code 0
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/PasswordReliablity/PasswordRank.py
请输入密码:yh12345678
密码强度:强(☆☆☆)
密码设置成功!
Process finished with exit code 0
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/PasswordReliablity/PasswordRank.py
请输入密码:1
密码强度:弱(☆)
密码设置不成功!
请输入密码:11
密码强度:弱(☆)
密码设置不成功!
请输入密码:11
密码强度:弱(☆)
密码设置不成功!
尝试次数超过上限(3次)!密码设置失败!
Process finished with exit code 0
内容总结
以上是互联网集市为您收集整理的【Python打卡2019】20190430之判断密码强弱全部内容,希望文章能够帮你解决【Python打卡2019】20190430之判断密码强弱所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。