鱼C论坛

 找回密码
 立即注册
查看: 1396|回复: 2

[见证历程] 密码安全等级校验

[复制链接]
发表于 2018-12-18 21:18:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. '''
  2. # 密码安全性检查代码
  3. #
  4. # 低级密码要求:
  5. #   1. 密码由单纯的数字或字母组成
  6. #   2. 密码长度小于等于8位
  7. #
  8. # 中级密码要求:
  9. #&#160; &#160;1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
  10. #&#160; &#160;2. 密码长度不能低于8位
  11. #
  12. # 高级密码要求:
  13. #&#160; &#160;1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
  14. #&#160; &#160;2. 密码只能由字母开头
  15. #&#160; &#160;3. 密码长度不能低于16位

  16. '''

  17. print('==========密码强度=====')
  18. password = input("设置密码:")
  19. specialChar = '~!@#$%^&*()_=-/,.?<>;:[]{}|\\'
  20. while(password != 'exit'):
  21.     length = len(password)
  22.     digitNum,alphaNum,specialNum,other = 0,0,0,0
  23.     digitFlag,alphaFlag,specialFlag,otherFlag = 0,0,0,0
  24.     for i in range(0,length):
  25.         if password[i].isdigit() == True:
  26.             digitNum += 1
  27.             digitFlag = 1
  28.             continue
  29.         elif password[i].isalpha() == True:
  30.             alphaNum += 1
  31.             alphaFlag = 1
  32.             continue
  33.         elif password[i] in specialChar :
  34.             specialNum += 1
  35.             specialFlag = 1
  36.             continue
  37.         else:
  38.             other += 1
  39.             otherFlag
  40.     count = digitFlag + alphaFlag + specialFlag
  41.     print('数字:',digitNum,'字母:',alphaNum,'特殊字符:',specialNum,'非法字符',other)
  42.     if other == 0:
  43.         if count == 3:
  44.             if length >= 16:
  45.                 if password[0].isalpha() == True:
  46.                     print('高级密码')
  47.                 else:
  48.                     print('密码应该以字母开头')
  49.             else:
  50.                 print("高级密码长度应该不低于16位")
  51.         elif count == 2:
  52.             if length >= 8:
  53.                 print('密码等级:中级密码\n可以尝试设置高级密码:\n\n1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合\n\n2. 密码只能由字母开头\n\n3. 密码长度不能低于16位')
  54.                
  55.             else:
  56.                 print('中级密码应不低于8位')
  57.         elif count == 1:
  58.             if length <=8:
  59.                 print('密码等级:低级密码\n可以尝试设置中级密码:\n\n1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合\n\n2.密码长度不能低于8位')
  60.             else:
  61.                 print('低级密码应不超过8位')
  62.         password = input("再玩一次:")
  63.     else:
  64.         password = input("密码格式不正确,特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)\n请重新输入")
  65.    
  66. if password == 'exit':
  67.     print('退出')
  68. else:
  69.     print('系统异常')
  70.         
  71.                
  72.                
  73.                  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-10 15:56:49 | 显示全部楼层
python?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-11 08:53:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 01:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表