什么是一个安全的密码呢?

  1.如果密码少于5位,那么就认为这是一个弱密码.

  2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码.

  3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码.

  4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码.

  根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程代码如下:

<form name=form1 action="">
输入密码:<input title="" type=password size=10 onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)">
<br>密码强度:
<table width="217" border="1" cellspacing="0" cellpadding="1" 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">强</td>
</tr>
</table>
</form>
<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;
else
return 8; //特殊字符
} //bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num) {
var modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1) modes++;
num >>>= 1;
}
return modes;
} //checkStrong函数
//返回密码的强度级别
function checkStrong(sPW) {
if (sPW.length <= 4)
return 0; //密码太短
var Modes = 0;
for (i = 0; i < sPW.length; i++) {
//测试每一个字符的类别并统计一共有多少种模式.
Modes |= CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes);
} //pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
function pwStrength(pwd) {
var O_color = "#eeeeee";
var L_color = "#FF0000";
var M_color = "#FF9900";
var 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;
}
</script>

最新文章

  1. JavaScript学习笔记-new Date() 与 Date() 的区别
  2. 解决adb shell input text 中文输入,unicode转utf-8
  3. GridView的常规用法
  4. bzoj2333 [SCOI2011]棘手的操作
  5. js的严谨模式
  6. gradle默认路径
  7. [C#搜片神器] 之P2P中DHT网络爬虫原理
  8. CentOS 7.x安装ELK(Elasticsearch+Logstash+Kibana)
  9. Linux Shell编程(19)——测试与分支
  10. Autofac创建实例的方法总结 【转】
  11. 7. Shell 脚本编写
  12. Delphi三层网络架构代码实现
  13. Asp.net mvc 4.0 高级编程 百度云下载
  14. 网络服务器操作命令telnet
  15. [SDOI 2008]沙拉公主的困惑
  16. 【Python 01】Python可以做什么
  17. TiDB入门(四):从入门到“跑路”
  18. CentOS7忘记mysql的root密码_处理方法.
  19. Git之第三方托管oschina
  20. 基于Java对图片进行二值化处理

热门文章

  1. destoon 支付异步接口文件 notify.php 调试方式
  2. PHP redis使用命令
  3. 【laravel】laravel class 里面定义以head开头的方法会报错
  4. 收集的有关mdk 3的使用方法
  5. 有限状态机(FSM)的设计与实现
  6. BZOJ 4425: [Nwerc2015]Assigning Workstations分配工作站
  7. 组合数学之Polya计数 TOJ1116 Let it Bead
  8. DS博客作业06--图
  9. 项目记事【多线程】:关于 SimpledDateFormat 的多线程问题
  10. iOS学习笔记34-加速计和陀螺仪