網頁密碼強度驗證指令碼

來源:互聯網
上載者:User

密碼已經是我們生活工作中必不可少的工具,但一個不安全的密碼有又有可能會給我們造成不必要的損失。作為網站設計者,如果我們在網頁中能對使用者輸入的密碼進行安全評估,並顯示出相應的提示資訊,那麼對使用者佈建一個安全的密碼將有很大協助。同時也使得網站更具人性化,更有吸引力.

什麼是一個安全的密碼呢?本程式按以下的方式進行評估.

1.如果密碼少於5位,那麼就認為這是一個弱密碼.

2.如果密碼只由數字、小寫字母、大寫字母或其它特殊符號當中的一種組成,則認為這是一個弱密碼.

3.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的兩種組成,則認為這是一個中度安全的密碼.

4.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的三種以上組成,則認為這是一個比較安全的密碼.

本程式將根據使用者輸入的密碼分別顯示不同的顏色表示密碼的強度,具體程式如下:

密碼已經是我們生活工作中必不可少的工具,但一個不安全的密碼有又有可能會給我們造成不必要的損失。作為網站設計者,如果我們在網頁中能對使用者輸入的密碼進行安全評估,並顯示出相應的提示資訊,那麼對使用者佈建一個安全的密碼將有很大協助。同時也使得網站更具人性化,更有吸引力.

什麼是一個安全的密碼呢?本程式按以下的方式進行評估.

1.如果密碼少於5位,那麼就認為這是一個弱密碼.

2.如果密碼只由數字、小寫字母、大寫字母或其它特殊符號當中的一種組成,則認為這是一個弱密碼.

3.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的兩種組成,則認為這是一個中度安全的密碼.

4.如果密碼由數字、小寫字母、大寫字母或其它特殊符號當中的三種以上組成,則認為這是一個比較安全的密碼.

本程式將根據使用者輸入的密碼分別顯示不同的顏色表示密碼的強度,具體程式如下:

以下是引用片段:


<scriptlanguage=javascript>

//CharMode函數
//測試某個字元是屬於哪一類.
functionCharMode(iN){
if(iN>=48&&iN<=57)//數字
return1;
if(iN>=65&&iN<=90)//大寫字母
return2;
if(iN>=97&&iN<=122)//小寫
return4;
else
return8;//特殊字元
}

//bitTotal函數
//計算出當前密碼當中一共有多少種模式
functionbitTotal(num){
modes=0;
for(i=0;i<4;i++){
if(num&1)modes++;
num>>>=1;
}
returnmodes;
}

//checkStrong函數
//返回密碼的強度層級

functioncheckStrong(sPW){
if(sPW.length<=4)
return0;//密碼太短
Modes=0;
for(i=0;i<sPW.length;i++){
//測試每一個字元的類別並統計一共有多少種模式.
Modes|=CharMode(sPW.charCodeAt(i));
}

returnbitTotal(Modes);

}

//pwStrength函數
//當使用者放開鍵盤或密碼輸入框失去焦點時,根據不同的層級顯示不同的顏色

functionpwStrength(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){
case0:
Lcolor=Mcolor=Hcolor=O_color;
case1:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
break;
case2:
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>

<formname=form1action="">
輸入密碼:
<inputtype=passwordsize=10onKeyUp=pwStrength(this.value)
onBlur=pwStrength(this.value)>
<br>密碼強度:
<tablewidth="217"border="1"cellspacing="0"cellpadding="1"bordercolor="#cccccc"
height="23"style=display:inline>
<tralign="center"bgcolor="#eeeeee">

<tdwidth="33%"id="strength_L">弱</td>

<tdwidth="33%"id="strength_M">中</td>

<tdwidth="33%"id="strength_H">強</td>
</tr>
</table>

</form>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。