校验密码强度的参考代码

  public static void main(String[] args) throws Exception {
        String str = "WERUIuy%^*&5467";
        int i = checkStrong(str);
        if(i<=2){
            System.out.println("密码强度不够!");
        }
    }

    /**
     * 计算出当前密码当中一共有多少种模式
     * @param pwd
     * @return
     */
    public static int checkStrong(String pwd){
        if(pwd.length() < 4)
            return 0;
        int modes = 0;
        for(int i = 0;i<pwd.length();i++){
            modes |= getCharMode(pwd.charAt(i));  //或
        }
        return bitTotal(modes);
    }

    /**
     * 返回当前字符的模式
     * @param i
     * @return
     */
    public static int getCharMode(int i){
        if (i >= 48 && i <= 57) //数字
            return 1;
        if (i >= 65 && i <= 90) //大写字母
            return 2;
        if (i >= 97 && i <= 122) //小写
            return 4;
        else
            return 8; //特殊字符
    }

    /**
     * 遍历数的二进制表示,看有多少个1
     * @param num
     * @return
     */
    public static int bitTotal(int num){
        int modes = 0;
        for (int i = 0; i < 4; i++) {
            if ((num & 1) == 1) modes++;
            num >>>= 1;
        }
        return modes;
    }
时间: 2024-11-13 16:30:52

校验密码强度的参考代码的相关文章

js校验密码强度

网上转载的一段代码,留着以后用, js文件: //判断输入密码的类型 function CharMode(iN){ if (iN>=48 && iN <=57) //数字 return 1; if (iN>=65 && iN <=90) //大写 return 2; if (iN>=97 && iN <=122) //小写 return 4; else return 8; } //bitTotal函数 //计算密码模式 f

正则匹配:Email 密码强度 身份证 手机号 日期等

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑.熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升.下面是在前端开发中经常使用到的20个正则表达式. 正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码: var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; var r = fieldValue.match(reg); if(r

密码强度检查

一.前端检查 案例 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> 密码强度检测 </title> <meta http-equiv="Content-Type" content=&

js动态判断密码强度

// 网上拷贝的代码,效果不太好需要自己调整<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta htt

四级密码强度检测

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> 密码强度检测 </title> <meta http-equiv="Content-Type" content="text/

jquery实现密码强度检测

jquery实现密码强度验证 jquery实现密码强度验证 JS代码: $('#pass').keyup(function(e) { var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g"); var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?

检测密码强度

在大多数平台注册一个新账户,输入密码是必须的,有时候为了提醒用户设置一个相对安全的密码,会检测密码强度. /** * @param input (密码框) * @param notice (文本提示) * 检测密码强度 供参考 **/ function checkPasswordStrength(input,notice){ var str = ['密码强度:弱','密码强度:中','密码强度:强'], getStrength = function(str){ var strength = 0;

JS密码强度检测

1 //校验密码强度---沒有匹配到以下級別就提示 2 function checkPassWord(value){ 3 // 0: 表示第一个级别 1:表示第二个级别 2:表示第三个级别 4 // 3: 表示第四个级别 4:表示第五个级别 5 var arr=[],array=[1,2,3,4]; 6 if(value.length < 6){//最初级别 7 return 0; 8 } 9 if(/\d/.test(value)){//如果用户输入的密码 包含了数字 10 arr.push(

密码输入强度提示实例代码

密码输入强度提示实例代码:现在众多的网站的注册表单,在填写密码的时候能够实时的给出密码强度提示,这可以提醒用户当前输入的密码安全程度,算是非常人性化的一个举措,下面就通过一个实例简单介绍一下如何实现此效果.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://ww