檢驗密碼的安全等級

摘要 :

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;elsereturn 8; //特殊字符

}



//bitTotal函數

//計算出當前密碼當中一共有多少種模式

function bitTotal(num){

modes=0;

for (i=0;i<4;i++){<br />
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++){ //測試每一個字符的類別並統計一共有多少種模式.<br />
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>

<form name=form1 action="" >

輸入密碼:<input type=password size=10 >

密碼強度:













</form>











原作:Microsoft

註解:藍色小舖-AirCanada

留言

這個網誌中的熱門文章

可以127.0.0.1卻無法localhost,一切都是IPv6搞的鬼!!

文章

靠近