密碼已經(jīng)是我們生活工作中必不可少的工具,但一個(gè)不安全的密碼有又有可能會(huì)給我們?cè)斐刹槐匾膿p失。作為網(wǎng)站設(shè)計(jì)者,如果我們?cè)诰W(wǎng)頁中能對(duì)用戶輸入的密碼進(jìn)行安全評(píng)估,并顯示出相應(yīng)的提示信息,那么對(duì)用戶設(shè)置一個(gè)安全的密碼將有很大幫助,。同時(shí)也使得網(wǎng)站更具人性化,更有吸引力. 什么是一個(gè)安全的密碼呢?本程序按以下的方式進(jìn)行評(píng)估. 1.如果密碼少于5位,那么就認(rèn)為這是一個(gè)弱密碼. 2.如果密碼只由數(shù)字,、小寫字母,、大寫字母或其它特殊符號(hào)當(dāng)中的一種組成,則認(rèn)為這是一個(gè)弱密碼. 3.如果密碼由數(shù)字、小寫字母,、大寫字母或其它特殊符號(hào)當(dāng)中的兩種組成,則認(rèn)為這是一個(gè)中度安全的密碼. 4.如果密碼由數(shù)字、小寫字母,、大寫字母或其它特殊符號(hào)當(dāng)中的三種以上組成,則認(rèn)為這是一個(gè)比較安全的密碼. 具體程序如下(演示地址:http://www.netInter.cn/reg): <script language=javascript> //程序設(shè)計(jì):環(huán)球萬維,專業(yè)提供虛擬主機(jī),域名注冊(cè)服務(wù) //網(wǎng)址:http://www.netInter.cn //本程序是環(huán)球萬維原創(chuàng)程序,若需轉(zhuǎn)載,請(qǐng)注明網(wǎng)址及出處,謝謝. //以上信息與文章正文是不可分割的一部分,所以如果您要轉(zhuǎn)載本文章,您必須保留以上信息. //CharMode函數(shù) //測試某個(gè)字符是屬于哪一類. function CharMode(iN){ if (iN>=48 && iN <=57) //數(shù)字 return 1; if (iN>=65 && iN <=90) //大寫字母 return 2; if (iN>=97 && iN <=122) //小寫 return 4; else return 8; //特殊字符 } //bitTotal函數(shù) //計(jì)算出當(dāng)前密碼當(dāng)中一共有多少種模式 function bitTotal(num){ modes=0; for (i=0;i<4;i++){ if (num & 1) modes++; num>>>=1; } return modes; } //checkStrong函數(shù) //返回密碼的強(qiáng)度級(jí)別 function checkStrong(sPW){ if (sPW.length<=4) return 0; //密碼太短 Modes=0; for (i=0;i<sPW.length;i++){ //測試每一個(gè)字符的類別并統(tǒng)計(jì)一共有多少種模式. Modes|=CharMode(sPW.charCodeAt(i)); } return bitTotal(Modes); } //pwStrength函數(shù) //當(dāng)用戶放開鍵盤或密碼輸入框失去焦點(diǎn)時(shí),根據(jù)不同的級(jí)別顯示不同的顏色 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 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)> <br>密碼強(qiáng)度: <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">強(qiáng)</td> </tr> </table> </form> |
|