Labels

2005 (136) 2004 (99) 2006 (84) 2007 (41) 2008 (41) 簡單生活 (24) 2012 (14) 網頁設計 (14) 電腦技巧 (13) 2009 (12) 2010 (10) PHP (10) 台灣晃一晃 (9) Learn Note (7) 地球這麼大 (6) 2011 (5) Mysql (3) Smarty (3) Vista (3) 手機待吐 (2) 2014 (1) 2021 (1) Composer (1) Laravel (1) MAC (1) MAMP (1) 新新人類新科技 (1)

20060922

檢驗密碼的安全等級

摘要 :

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