校验密码超限是什么意思(密码验证超过频率限制什么意思)
校验密码超限是什么意思(密码验证超过频率限制什么意思)、本站经过数据分析整理出校验密码超限是什么意思(密码验证超过频率限制什么意思)相关信息,仅供参考!
虽然第三方登录微信、QQ、GitHub等。现在,帐户秘密登录仍然是一个系统的核心和最重要的功能之一。登录功能的好坏直接影响系统的安全性,而登录过程和错误提示直接影响用户的体验。
秘密账户登录有以下几个问题值得考虑。
账户规则。纯数字、纯字母或数字和字母的组合。纯数字,纯字母,数字和字母的组合,用什么加密方法传输数字,字母和特殊字符组合的密码。对称加密aes?或非对称加密rsa。如何存储密码?md5?还是沙?或者在各种方式被混淆后,加上盐值。
今天,我们来谈谈密码的验证规则
0x01:纯数字
纯数字加密规则最常见的场景是什么?是银行卡的密码。不管是借记卡还是借记卡,都是同一个号码。
简单判断是否是number公共静态布尔test number(string pwd){//pattern pattern=pattern . pile('[0-9] ');格局格局=pattern.compile('^\\d $ ');matcher is num=pattern . matcher(pwd);如果(!isNum.matches() ){返回false}返回true}判断是否为数字且长度大于6 public static boolean test number(string pwd){ pattern pattern=pattern . pile('[0-9]{ 6,} ');//格局格局=pattern.compile('^\\d{6,}$');matcher is num=pattern . matcher(pwd);如果(!isNum.matches() ){返回false}返回true}判断是否是长度大于6的数字,不能有大于等于3的连续字符。像A123879这样的123是连续的。要找到连续字符,必须找到两个字符串的最大子串,即目标密码字符串和字符串123456789的最大子串,并且最大子串的长度不能大于等于3。
公共静态字符串getMaxSubStr(String s1,String S2){ String max=' ';字符串最小值=“”;max=(s1.length() s2.length())?S1:S2;min=(max==s1)?S2:S1;for(int x=0;x min . length();x ) { for (int y=0,z=min . length()-x;z!=min . length()1;y,z ) { String temp=min.substring(y,z);if (max.contains(temp))返回temp;} } return“”;}判断是否是数字,长度大于6,不能有大于等于3的连续字符。
public static boolean test number(String pwd){ Pattern Pattern=Pattern . compile('[0-9]{ 6,} ');//格局格局=pattern.compile('^\\d{6,}$');matcher is num=pattern . matcher(pwd);string max sub=getMaxSubStr(' 0123456789 ',pwd);if(maxsub.length()=3){返回false}如果(!isNum.matches()) {返回false}返回true}
0x02:数字、大小写字母和特殊字符组合
对于纯字母、数字和字母,这个密码没有深入开发。先说目前互联网使用的最大的密码规则数字、大小写字母和特殊字符组合。
数字、大写字母、小写字母、特殊字符必须存在公共静态布尔测试pwd(字符串pwd){模式pnum=模式。编译(.[0-9] .');匹配器是num=pnum。匹配器(pwd);如果(!isNum.matches()) {返回false } Pattern pstr=Pattern . compile(' .(阿-扎-兹).');matcher isstr=pstr。匹配器(pwd);如果(!isstr.matches()) {返回false } Pattern sstr=Pattern . compile(' .[@!#%] .');matcher sistr=sstr。匹配器(pwd);如果(!sistr.matches()) {返回false}返回pwd。length()=6;}判断是否是数字、大写字母、小写字母、特殊字符组合,长度大于6,并且不能存在大于等于3的连续字符。像Abc879,这样的字母表连续了公共静态布尔测试pwd(String pwd){ Pattern pnum=Pattern。编译(.[0-9] .');匹配器是num=pnum。匹配器(pwd);如果(!isNum.matches()) {返回false } Pattern pstr=Pattern . compile(' .(阿-扎-兹).');matcher isstr=pstr。匹配器(pwd);如果(!isstr.matches()) {返回false } Pattern sstr=Pattern . compile(' .[@!#%] .');matcher sistr=sstr。匹配器(pwd);如果(!sistr.matches()) {返回false}字符串编号=' 123456789 ';String submax=getMaxSubStr(pwd,number);if(submax.length()=3){返回false } String str TPL=' abcdefghijklmnopqrstuvwsyz ';submax=getMaxSubStr(pwd,strtpl);if(submax.toLowerCase().length()=3){返回false}返回pwd。length()=6;}
0x03:
密码的校验规则可以很复杂,例如还是校验不能是一些常用的密码。例如管理员12、用户12等等,如果要做这些校验,就需要有一个常用密码库,然后与这个库的密码进行校验。如果存在就不能使用,否则就可以使用。
更多关于校验密码超限是什么意思(密码验证超过频率限制什么意思)的请关注本站。