• 密码设置有关方法:不能相同字母,不能为连续字符


    //判断密码不能输入相同字母
    removeRepeatStr(str){ //不能为相同字符
    var newStr = ‘’;
    var len = str.length;
    for(var i=0; i if(newStr.indexOf(str[i])==-1){
    newStr = newStr + str[i];
    }
    }
    return newStr;
    },

    //判断密码不能输入连续字符
    lxStr(str) {
    var flag = true;
    for(var i= 1; i< str.length; i++) {
    flag = flag && str.charCodeAt(i) == str.charCodeAt(i-1) + 1;
    }
    return flag;
    },

    //使用方法 Vue data 里面
    let inputPasswordReg = (rule, value, callback) => {
    let str = this. u t i l s . r e m o v e R e p e a t S t r ( v a l u e ) ; / / 去重之后长度是否为 1 ,如果为 1 ,那么就是密码每一个都一样 i f ( v a l u e = = = ′ ′ ) c a l l b a c k ( n e w E r r o r ( ′ 请输入新增账号密 码 ′ ) ) e l s e i f ( v a l u e . l e n g t h < 8 ∣ ∣ v a l u e . l e n g t h > 16 ) c a l l b a c k ( n e w E r r o r ( ′ 请输入 8 − 16 位密 码 ′ ) ) e l s e i f ( s t r . l e n g t h = = 1 ) / / 代表是完全相同的数字和字母 c a l l b a c k ( n e w E r r o r ( ′ 抱歉 , 不能是完全相同的字 符 ′ ) ) e l s e i f ( t h i s . utils.removeRepeatStr(value); //去重之后长度是否为1,如果为1,那么就是密码每一个都一样 if(value === '') { callback(new Error('请输入新增账号密码')) }else if(value.length<8 || value.length>16) { callback(new Error('请输入8-16位密码')) }else if(str.length == 1) { //代表是完全相同的数字和字母 callback(new Error('抱歉,不能是完全相同的字符')) }else if(this. utils.removeRepeatStr(value);//去重之后长度是否为1,如果为1,那么就是密码每一个都一样if(value===′′)callback(newError(请输入新增账号密))elseif(value.length<8∣∣value.length>16)callback(newError(请输入816位密))elseif(str.length==1)//代表是完全相同的数字和字母callback(newError(抱歉,不能是完全相同的字))elseif(this.utils.lxStr(value) == true) {
    callback(new Error(‘抱歉,不能是连续的数字或字母’))
    }else if(!this.$utils.validator.isPassword(value)){
    callback(‘抱歉,至少含字母/数字、符号2种组合’)
    }else{
    callback()
    }
    }

    /1{6,}$/
    这是是密码不能少于6位,

    var reg1 = /2{6,}$/g,
    reg2 = /\d{3}/g;
    var str = ‘22aa333’;
    if (reg1.test(str) && !reg2.test(str)) {
    console.log(‘密码符合规则’);
    } else {
    console.log(‘密码不符合规则’);
    };

    其实思路很简单,三个连续数字好写吧。那么三个非连续数字不就是排除三个连续数字吗?这样设置是最简单易懂的~

    以下是几个设置密码的技巧:

    1、长度:密码的长度要长,至少8位以上。黑客写个程序从000000逐个猜到999999,至少得猜1亿次。

    2、组合密码:不要纯粹的使用数字,或纯粹字母。建议数字、字母、特殊字符夹杂着!若密码是8位,每一位可以使用26个大写字母、26个小写字母、10个数字、若干个特殊符号,那么黑客就要猜测至少N的8次方,N大于72。

    3、复杂的、方便记忆的、最有诗意的,个性密码:想一句对你有特殊意义的话,进行简单变形。如:一行白鹭上青天->1hblsqt;小心驶得万年船->xxsdwnc等等,可尽情发挥你的创意!

    一个安全的密码也不能完全保证万无一失,要想账号更加保险,最好采取以下建议:

    1、定期更换:一个很复杂的密码,用久了,可能泄漏了还不知晓。最好定期更换一个密码!

    2、统一认证:即将需要登录的若干个系统,整合在一个地方,即不需要记忆多个站点的密码,集中记住一个即可。

    3、使用密码管理软件:日常生活里,密码太多,不建议用txt记录密码,容易遗漏或被他人看到。所以,应该采用专业的密码管理软件。

    4、不要到处乱贴自己的密码:工作中,由于密码难记,于是写在便笺上,贴在座位或者显示器附近。方便了自己,也往往方便了陌生人。

    5、不要在公共场合大声的说出密码:如在电梯里、公交车上打电话时,切记勿在电话里大声的透露自己的密码。

    6、不要多处使用同一个密码:不要在工作场合和生活场合使用同一套密码,重要系统(比如QQ、网银、12306等和隐私密切相关的)和非重要系统(一些小的论坛、查阅为主的资料)的密码要分开。

    7、重要系统不要只用密码认证:如大家在登录网上银行的时候,可能还需要结合短信验证码、动态口令令牌、手机APP扫描等多种手段。


    1. 0-9A-Za-z ↩︎

    2. 0-9A-Za-z ↩︎

  • 相关阅读:
    stm32之30.DMA
    通过小程序实现会议Oa主界面
    CentoS7 安装篇十二:mysql主从搭建(xtrackbackup不停机搭建)
    Tableau 自定义调色板及应用全流程讲解【保姆级】
    【electron】【附排查清单】记录一次逆向过程中,fetch无法请求http的疑难杂症(net::ERR_BLOCKED_BY_CLIENT)
    解决Elasticsearch查询默认最大值返回10000
    《三叶虫与其他故事》我的恐惧如涟漪扩散,荡漾过百万年的时光
    <SQL>《SQL命令(含例句)精心整理版(4)》
    iOS swift5 提示信息显示,提示弹框,第三方框架XHToastSwift
    【Java学习挑战】
  • 原文地址:https://blog.csdn.net/weixin_43214644/article/details/126154379