最近因为在做WEB产品中接触到密码强度设置问题,找了不少解决方案,大多都是基于google提出的以密码长度、英文大小写以及符号组合来区分的方式进行。但是这样组合出来的密码形式还是有很大的问题。经过搜集整理后,总结出以下几种方式来处理关于密码强度设定的规则供大家参考。
密码强度,指一个密码对抗猜测或是暴力破解的有效程度。一般来说,指一个未授权的访问者得到正确密码的平均尝试次数。密码的强度和其长度、复杂度及不可预测度有关。强密码可以降低安全漏洞的整体风险,但并不能降低采取其他安全措施的需要。
攻击者可以提交猜测到的密码的速率是衡量一个系统安全性的重要因素。有的系统在多次尝试失败后会暂停登入一段时间,在没有其他安全缺陷时,这种系统可以用相对简单的密码保护。但是系统必须以某种形式存储用户密码,而当这些数据被盗时,就有极大的危险。(via.百度百科)
一、简易版密码强度规则
密码长度至少8位;密码含有数字&字母;密码含有符号;含有字母大小写。
规则:
符合2项以上允许注册。不符合针对项目进行针对性提示。
二、常规版密码强度规则
一、密码长度:5 分: 小于等于 4 个字符
10 分: 5 到7字符– 25 分: 大于等于 8 个字符
二、字母:
0 分: 没有字母10 分: 全都是小(大)写字母20 分: 大小写混合字母
三、数字:
0分: 没有数字10分: 1 个数字20分: 大于等于 3个数字
四、符号:
0分: 没有符号10分: 1个符号25分: 大于1个符号
五、奖励:
2分: 字母和数字3分: 字母、数字和符号5分: 大小写字母、数字和符号
规则:
>= 90: 非常安全>= 80: 安全(Secure)>= 70: 非常强>= 60: 强(Strong)>= 50: 一般(Average)>= 25: 弱(Weak)>= 0: 非常弱
三、专业版密码强度规则
符合密码基本规则者为70分。
+(总字元数-8) × 4+(字母字元数-大写字母字元数) × (字母字元数-小写字母字元数) × 2-(接连重复(Repeat)字元数) × 2-(接连(Consecutive)数字字元数-3) × 1-(接连(Consecutive)字母字元数-