密码已经是我们生活工作中必不可少的工具
但一个不安全的密码有又有可能会给我们造成不必要的损失
作为网站设计者
如果我们在网页中能对用户输入的密码进行安全评估
并显示出相应的提示信息
那么对用户设置一个安全的密码将有很大帮助
同时也使得网站更具人性化
更有吸引力
什么是一个安全的密码呢?本程序按以下的方式进行评估
如果密码少于位那么就认为这是一个弱密码
如果密码只由数字小写字母大写字母或其它特殊符号当中的一种组成则认为这是一个弱密码
如果密码由数字小写字母大写字母或其它特殊符号当中的两种组成则认为这是一个中度安全的密码
如果密码由数字小写字母大写字母或其它特殊符号当中的三种以上组成则认为这是一个比较安全的密码
本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度具体程序如下:
以下是引用片段
<scriptlanguage=javascript>
//CharMode函数
//测试某个字符是属于哪一类
functionCharMode(iN){
if(iN>=&&iN<=)//数字
return;
if(iN>=&&iN<=)//大写字母
return;
if(iN>=&&iN<=)//小写
return;
else
return;//特殊字符
}
//bitTotal函数
//计算出当前密码当中一共有多少种模式
functionbitTotal(num){
modes=;
for(i=;i<;i++){
if(num&)modes++;
num>>>=;
}
returnmodes;
}
//checkStrong函数
//返回密码的强度级别
functioncheckStrong(sPW){
if(sPWlength<=)
return;//密码太短
Modes=;
for(i=;i<sPWlength;i++){
//测试每一个字符的类别并统计一共有多少种模式
Modes|=CharMode(sPWcharCodeAt(i));
}
returnbitTotal(Modes);
}
//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时根据不同的级别显示不同的颜色
functionpwStrength(pwd){
O_color=#eeeeee;
L_color=#FF;
M_color=#FF;
H_color=#CC;
if(pwd==null||pwd==){
Lcolor=Mcolor=Hcolor=O_color;
}
else{
S_level=checkStrong(pwd);
switch(S_level){
case:
Lcolor=Mcolor=Hcolor=O_color;
case:
Lcolor=L_color;
Mcolor=Hcolor=O_color;
break;
case:
Lcolor=Mcolor=M_color;
Hcolor=O_color;
break;
default:
Lcolor=Mcolor=Hcolor=H_color;
}
}
documentgetElementById(strength_L)stylebackground=Lcolor;
documentgetElementById(strength_M)stylebackground=Mcolor;
documentgetElementById(strength_H)stylebackground=Hcolor;
return;
}
</script>
<formname=formaction=>
输入密码:<inputtype=passwordsize=onKeyUp=pwStrength(thisvalue)onBlur=pwStrength(thisvalue)>
<br>密码强度:
<tablewidth=border=cellspacing=cellpadding=bordercolor=#ccccccheight=style=display:inline>
<tralign=centerbgcolor=#eeeeee>
<tdwidth=%id=strength_L>弱</td>
<tdwidth=%id=strength_M>中</td>
<tdwidth=%id=strength_H>强</td>
</tr>
</table>
</form>