当前位置:   article > 正文

Python的学习笔记案例6--判断密码强度1.0_密码星级的规则如下:满足下列任一条件,即加1星,若无一条件满足,则星级为0,含

密码星级的规则如下:满足下列任一条件,即加1星,若无一条件满足,则星级为0,含

密码强度:是指一个密码对抗财产或者暴力破解的有效程度;一般是指一个未授权访问者得到正确密码的平均尝试次数。
强密码可以降低安全漏洞的整体风险。
简易版(常用)规则:
       1、密码长度至少8位
       2、密码含有数字
       3、密码含有字母

设置一个变量strength_level用于记录密码的强度,初始位0.满足一个条件,对其加1。
       长度判断:使用len()方法;
       包含数字判断:使用isnumeric()方法;
       包含字母判断:使用isalpha()方法;
       如果strength_level等于3,密码强度合格,否则不合格。

str.isnumeric()
       检测字符串是否只由数字组成
str.isalpha()
       检测字符串是否只由字母组成
str.islower()
       检测字符串中所有的字母是否都为小写
str.isupper()
       检测字符串中所有的字母是否都为大写
更多is***()方法请参考:
       https://docs.python.org/3/library/stdtypes.html#string-methods

  1. """
  2. 作者:lanxingbudui
  3. 版本:1.0
  4. 日期:2019-07-15
  5. 功能:判断密码强度
  6. """
  7. def check_number_str(password_str):
  8. """
  9. 判断字符串是否包含数字
  10. """
  11. for c in password_str:
  12. if c.isnumeric():
  13. return True
  14. return False
  15. def check_letter_str(password_str):
  16. """
  17. 判断字符串是否包含字母
  18. """
  19. for c in password_str:
  20. if c.isalpha():
  21. return True
  22. return False
  23. def main():
  24. """
  25. 主函数
  26. """
  27. pass
  28. password = input('请输入密码:')
  29. # 密码强度
  30. strength_level = 0
  31. # 规则1:密码长度大于8位
  32. if len(password) >= 8:
  33. strength_level += 1
  34. else:
  35. print('密码长度必须大于8位')
  36. # 规则2:密码包含数字
  37. if check_number_str(password):
  38. strength_level += 1
  39. else:
  40. print('密码要求包含数字!')
  41. # 规则3:密码包含字母
  42. if check_letter_str(password):
  43. strength_level += 1
  44. else:
  45. print('密码要求包含字母!')
  46. if strength_level == 3:
  47. print('密码强度合格!')
  48. else:
  49. print('密码强度不合格!')
  50. if __name__ == '__main__':
  51. main()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/536550
推荐阅读
相关标签
  

闽ICP备14008679号