Javascriptはパスワードの強度を計算します.

7210 ワード

Javascriptでユーザーがパスワードを入力する強さを評価します.
1.パスワードが5桁未満なら、弱いパスワードだと思います.2.パスワードが数字、小文字、大文字または他の特殊記号の中の一つだけで構成されている場合、弱いパスワードだと考えられます.3.パスワードが数字、小文字、大文字または他の特殊記号の2つから構成されている場合、これは中程度の安全なパスワードと考えられます.4.パスワードが数字、小文字、大文字または他の特殊記号の3つ以上から構成されている場合、これは比較的安全なパスワードと考えられます.本プログラムは、ユーザが入力したパスワードによって、それぞれ異なる色を表示してパスワードの強度を表示します.具体的な手順は以下の通りです.
 Javascript           

1.      5 ,            。

2.        、    、                  ,          。

3.       、    、                  ,              。

4.       、    、                    ,              。

                             ,      :

<script language=javascript>

//CharMode  

//            .

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  

//                 

function bitTotal(num){

    modes=0;

    for (i=0;i<4;i++){

        if (num & 1) modes++;

        num>>>=1;

    }

    return modes;

}

//checkStrong  

//         

function checkStrong(sPW){

    if (sPW.length<=4)

    return 0; //    

    Modes=0;

    for (i=0;i<sPW.length;i++){

        //                     .

        Modes|=CharMode(sPW.charCodeAt(i));

    }

    return bitTotal(Modes);

}

//pwStrength  

//

function pwStrength(pwd){

    O_color="#eeeeee";

    L_color="#FF0000";

    M_color="#FF9900";

    H_color="#33CC00";

    if (pwd==null||pwd==""){

        Lcolor=Mcolor=Hcolor=O_color;

    }else{

        S_level=checkStrong(pwd);

        switch(S_level) {

            case 0:

                Lcolor=Mcolor=Hcolor=O_color;

            case 1:

                Lcolor=L_color;

                Mcolor=Hcolor=O_color;

            break;

            case 2:

                Lcolor=Mcolor=M_color;

                Hcolor=O_color;

            break;

            default:

                Lcolor=Mcolor=Hcolor=H_color;

            }

    }

    document.getElementById("strength_L").style.background=Lcolor;

    document.getElementById("strength_M").style.background=Mcolor;

    document.getElementById("strength_H").style.background=Hcolor;

    return;

}

</script>

<meta charset="utf-8" />

<form name=form1 action="" >

        :<input type="password" size=10 onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)">

    <br>    :

    <table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'>

        <tr align="center" bgcolor="#eeeeee">

            <td width="33%" id="strength_L"> </td>

            <td width="33%" id="strength_M"> </td>

            <td width="33%" id="strength_H"> </td>

        </tr>

    </table>

</form>