Python实现密码强度检测:长度、数字与字母综合验证
本文介绍使用Python判断密码强弱的完整代码实现。程序通过循环获取用户输入,验证密码长度是否大于8位,并检测是否同时包含数字和字母。利用str.isnumeric()和str.isalpha()等字符串方法,综合评估密码强度等级,提供详细的错误提示与剩余尝试次数反馈,帮助初学者掌握字符串处理与逻辑控制。
Python密码强度检测实现
本文分享了一个使用Python编写的密码强弱判断实例代码,供读者参考学习。
程序逻辑说明:系统接收用户输入的密码,首先检查密码长度是否超过8个字符,随后验证其中是否同时包含数字和字母,最后根据检查结果返回相应的强度提示信息。
字符串检测方法详解
相关知识点解析:
Python字符串常用检测方法:
str.isnumeric():用于检测字符串是否仅由数字组成,若满足条件返回True,否则返回False(注意:必须全部为数字)。 str.isalpha():用于检测字符串中是否仅包含字母,若满足条件返回True,否则返回False。 str.islower():用于检测字符串中的所有字符是否均为小写字母。 str.isupper():用于检测字符串中的所有字符是否均为大写字母。
完整代码示例
"""
作者: 王啸北
日期: 2019.05.19
功能: 判断输入密码的强弱
版本: v2.0
增加功能: 循环终止
"""
# 判断输入字符串中是否含有数字
def existNumber(password_str):
has_number = False
for c in password_str:
if c.isnumeric():
has_number = True
break
return has_number
# 程序中一般不连续用两个return
# return True # return 提前终止循环
# return False
# 判断输入字符串中是否含有字母
# def existAlpha(password_str):
# for c in password_str:
# if c.isalpha():
# return True
# return False
# v2.0 判断输入字符串中是否含有字母
def existAlpha(password_str):
has_Alpha = False
for c in password_str:
if c.isalpha():
has_Alpha = True
break
return has_Alpha
def main():
"""
主函数
:return:12
"""
Try_times = 5
while Try_times > 0:
password = input('请输入密码:')
# 密码强度
strength_level = 0
# 规则一: 密码长度大于8
if len(password) >= 8:
strength_level += 1
else:
print('请输入长度大于8的密码...')
# 规则二: 判断是否有数字
if existNumber(password):
strength_level += 1
else:
print('密码中需包含数字')
#规则三: 密码中包含字母
if existAlpha(password):
strength_level += 1
else:
print('密码中需包含字母')
if strength_level == 3:
print('密码输入正确!')
break
else:
Try_times -= 1
if Try_times == 0:
print('密码错误次数太多!')
else:
print('密码错误!剩余{}次'.format(Try_times))
print() #添加空行
if __name__ == '__main__':
main()
以上是关于Python密码强度判断的全部内容,希望这些代码示例能对您的编程学习有所帮助,同时也欢迎大家继续支持本站获取更多技术资源。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









