Python实现密码强度检测:长度、数字与字母综合验证

Theo
Theo
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍使用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密码强度判断的全部内容,希望这些代码示例能对您的编程学习有所帮助,同时也欢迎大家继续支持本站获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表