怎么用Python检验用户输入密码的复杂度

其他教程   发布日期:2024年12月11日   浏览次数:233

这篇文章主要讲解了“怎么用Python检验用户输入密码的复杂度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python检验用户输入密码的复杂度”吧!

密码强度检测规则:

  • 至少包含一个数字

  • 至少包含一个大写字母

  • 长度至少 8 位

主要知识点

  • while 循环

  • 推导式

  • 列表 any 函数

  • 命令行 input

代码部分

密码强度检测

1、首先创建一个 python 文件

导入系统包

  1. import platform

密码强度检测规则

至少包含一个数字至少包含一个大写字母长度至少 8 位

每天打印一词,激励一下自己。

  1. print("人生苦短,我用Python")

输入密码

  1. while True:
  2. password = input("请输入待检测密码: ")

列表推导式使用

  1. print("数字检测: ", [i.isdigit() for i in password])
  2. print("大写字母检测: ", [i.isupper() for i in password])
  3. print("密码长度: ", len(password))

是否有数字, 推导式检测。

  1. hasNumber = any([i.isdigit() for i in password])

是否有大写字母, 推导式检测。

  1. hasUpper = any([i.isupper() for i in password])

密码检测

  1. if hasNumber and hasUpper and len(password) >= 8:
  2. print("密码符合规则, 检查通过")
  3. break
  4. else:
  5. print("密码校验未通过, 请重新输入")

2、运行结果

  1. 请输入待检测密码: 123213
  2. 数字检测: [True, True, True, True, True, True]
  3. 大写字母检测: [False, False, False, False, False, False]
  4. 密码长度: 6
  5. 密码校验未通过, 请重新输入
  6. 请输入待检测密码: abc1234
  7. 数字检测: [False, False, False, True, True, True, True]
  8. 大写字母检测: [False, False, False, False, False, False, False]
  9. 密码长度: 7
  10. 密码校验未通过, 请重新输入
  11. 请输入待检测密码: Abc34567
  12. 数字检测: [False, False, False, True, True, True, True, True]
  13. 大写字母检测: [True, False, False, False, False, False, False, False]
  14. 密码长度: 8
  15. 密码符合规则, 检查通过

全部代码

  1. import platform
  2. print("人生苦短,我用Python")
  3. while True:
  4. password = input("请输入待检测密码: ")
  5. print("数字检测: ", [i.isdigit() for i in password])
  6. print("大写字母检测: ", [i.isupper() for i in password])
  7. print("密码长度: ", len(password))
  8. hasNumber = any([i.isdigit() for i in password])
  9. hasUpper = any([i.isupper() for i in password])
  10. if hasNumber and hasUpper and len(password) >= 8:
  11. print("密码符合规则, 检查通过")
  12. break
  13. else:
  14. print("密码校验未通过, 请重新输入")

以上就是怎么用Python检验用户输入密码的复杂度的详细内容,更多关于怎么用Python检验用户输入密码的复杂度的资料请关注九品源码其它相关文章!