赞
踩
密码强度:是指一个密码对抗财产或者暴力破解的有效程度;一般是指一个未授权访问者得到正确密码的平均尝试次数。
强密码可以降低安全漏洞的整体风险。
简易版(常用)规则:
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
-
- """
- 作者:lanxingbudui
- 版本:1.0
- 日期:2019-07-15
- 功能:判断密码强度
- """
-
-
- def check_number_str(password_str):
- """
- 判断字符串是否包含数字
- """
- for c in password_str:
- if c.isnumeric():
- return True
- return False
-
-
- def check_letter_str(password_str):
- """
- 判断字符串是否包含字母
- """
- for c in password_str:
- if c.isalpha():
- return True
- return False
-
-
- def main():
- """
- 主函数
- """
- pass
- password = input('请输入密码:')
-
- # 密码强度
- strength_level = 0
-
- # 规则1:密码长度大于8位
- if len(password) >= 8:
- strength_level += 1
- else:
- print('密码长度必须大于8位')
- # 规则2:密码包含数字
- if check_number_str(password):
- strength_level += 1
- else:
- print('密码要求包含数字!')
- # 规则3:密码包含字母
- if check_letter_str(password):
- strength_level += 1
- else:
- print('密码要求包含字母!')
- if strength_level == 3:
- print('密码强度合格!')
- else:
- print('密码强度不合格!')
-
-
- if __name__ == '__main__':
- main()
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。