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


    //判断密码不能输入相同字母
    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 ↩︎

  • 相关阅读:
    用Python进行数学建模(一)
    javaScript 内存管理
    【Java】Java核心要点总结:59
    海量数据情况下,怎么用Bitmap进行签到统计?
    Redis分布式锁的实现、优化与Redlock算法探讨
    Socket编程-应用编程接口(API)--套接字(及其函数介绍)
    Aviation turbofan starting model
    基于Python实现的MLPNN实验
    嵌入式Linux入门-从启动代码开始,真正从0开始点个灯
    9年前,我的第一份实习工作
  • 原文地址:https://blog.csdn.net/weixin_43214644/article/details/126154379