- 浏览: 58971 次
- 性别:
- 来自: 上海
最新评论
-
hesai_vip:
写的很不错! 果断收藏!
使用Open Flash Chart(OFC)制作图表(Struts2处理) -
EvanWei:
不知道你最后选了哪一个公司,我最近也在应聘Rovi
两个offer:rovi和凯捷中国,不知道如何选择
密码强度提示是最近流行的一个功能,但是99%的案例都忽略了检测机制。
基本上都是把字符分成四类:数字、小写英文、大写英文、符号,然后按照组合复杂度来直接判断强弱程度:
单一,是弱密码。
两两组合,是中密码。
超过两种组合,是强密码。
方案一
- <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)
- {
- 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; //密码太短
- Modes=0;
- for (i=0;i<sPW.length;i++)
- {
- //测试每一个字符的类别并统计一共有多少种模式.
- 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=""><P>
- 输入密码:</P><P>
- <INPUT onblur=pwStrength(this.value) onkeyup=pwStrength(this.value) type=password size=10 value="">
- <BR> 密码强度: </P><P>
- <TABLE style="DISPLAY: inline" borderColor=#cccccc height=23 cellSpacing=0 cellPadding=1 width=217 border=1>
- <TBODY>
- <TR align=middle bgColor=#eeeeee>
- <TD id=strength_L width="33%">弱</TD>
- <TD id=strength_M width="33%">中</TD>
- <TD id=strength_H width="33%">强</TD>
- </TR>
- </TBODY>
- </TABLE>
- </P><P> </P><P> </P></FORM>
- <PRE></PRE>
<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) { 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; //密码太短 Modes=0; for (i=0;i<sPW.length;i++) { //测试每一个字符的类别并统计一共有多少种模式. 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=""><P> 输入密码:</P><P> <INPUT onblur=pwStrength(this.value) onkeyup=pwStrength(this.value) type=password size=10 value=""> <BR> 密码强度: </P><P> <TABLE style="DISPLAY: inline" borderColor=#cccccc height=23 cellSpacing=0 cellPadding=1 width=217 border=1> <TBODY> <TR align=middle bgColor=#eeeeee> <TD id=strength_L width="33%">弱</TD> <TD id=strength_M width="33%">中</TD> <TD id=strength_H width="33%">强</TD> </TR> </TBODY> </TABLE> </P><P> </P><P> </P></FORM> <PRE></PRE>
方案二
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>密码</title>
- <script type="text/javascript">
- function chkpwd(obj){
- var t=obj.value;
- var id=getResult(t);
- //定义对应的消息提示
- var msg=new Array(4);
- msg[0]="密码过短";
- msg[1]="密码强度差";
- msg[2]="密码强度良好";
- msg[3]="密码强度高";
- var sty=new Array(4);
- sty[0]=-45;
- sty[1]=-30;
- sty[2]=-15;
- sty[3]=0;
- var col=new Array(4);
- col[0]="gray";
- col[1]="red";
- col[2]="#ff6600";
- col[3]="Green";
- //设置显示效果
- var bImg="http://bbs.blueidea.com/attachments/2006/12/7/pwdlen_dSIPeEGQWxfO.gif";//一张显示用的图片
- var sWidth=300;
- var sHeight=15;
- var Bobj=document.getElementById("chkResult");
- Bobj.style.fontSize="12px";
- Bobj.style.color=col[id];
- Bobj.style.width=sWidth + "px";
- Bobj.style.height=sHeight + "px";
- Bobj.style.lineHeight=sHeight + "px";
- Bobj.style.background="url(" + bImg + ") no-repeat left " + sty[id] + "px";
- Bobj.style.textIndent="20px";
- Bobj.innerHTML="检测提示:" + msg[id];
- }
- //定义检测函数,返回0/1/2/3分别代表无效/差/一般/强
- function getResult(s){
- if(s.length < 4){
- return 0;
- }
- var ls = 0;
- if (s.match(/[a-z]/ig)){
- ls++;
- }
- if (s.match(/[0-9]/ig)){
- ls++;
- }
- if (s.match(/(.[^a-z0-9])/ig)){
- ls++;
- }
- if (s.length < 6 && ls > 0){
- ls--;
- }
- return ls
- }
- </script>
- <style type="text/css">
- body{
- font-size:12px;
- font-family: Arial, Helvetica, sans-serif;
- margin:0;
- }
- form{
- margin:2em;
- }
- #chkResult{margin-left:53px;height:15px;}
- </style>
- </head>
- <body>
- <form name="form1">
- <label for="pwd">用户密码</label>
- <input type="password" name="pwd" onblur="chkpwd(this)" />
- <div id="chkResult"></div>
- <label for="pwd2">重复密码</label>
- <input type="password" name="pwd2" />
- </form>
- </body>
- </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>密码</title> <script type="text/javascript"> function chkpwd(obj){ var t=obj.value; var id=getResult(t); //定义对应的消息提示 var msg=new Array(4); msg[0]="密码过短"; msg[1]="密码强度差"; msg[2]="密码强度良好"; msg[3]="密码强度高"; var sty=new Array(4); sty[0]=-45; sty[1]=-30; sty[2]=-15; sty[3]=0; var col=new Array(4); col[0]="gray"; col[1]="red"; col[2]="#ff6600"; col[3]="Green"; //设置显示效果 var bImg="http://bbs.blueidea.com/attachments/2006/12/7/pwdlen_dSIPeEGQWxfO.gif";//一张显示用的图片 var sWidth=300; var sHeight=15; var Bobj=document.getElementById("chkResult"); Bobj.style.fontSize="12px"; Bobj.style.color=col[id]; Bobj.style.width=sWidth + "px"; Bobj.style.height=sHeight + "px"; Bobj.style.lineHeight=sHeight + "px"; Bobj.style.background="url(" + bImg + ") no-repeat left " + sty[id] + "px"; Bobj.style.textIndent="20px"; Bobj.innerHTML="检测提示:" + msg[id]; } //定义检测函数,返回0/1/2/3分别代表无效/差/一般/强 function getResult(s){ if(s.length < 4){ return 0; } var ls = 0; if (s.match(/[a-z]/ig)){ ls++; } if (s.match(/[0-9]/ig)){ ls++; } if (s.match(/(.[^a-z0-9])/ig)){ ls++; } if (s.length < 6 && ls > 0){ ls--; } return ls } </script> <style type="text/css"> body{ font-size:12px; font-family: Arial, Helvetica, sans-serif; margin:0; } form{ margin:2em; } #chkResult{margin-left:53px;height:15px;} </style> </head> <body> <form name="form1"> <label for="pwd">用户密码</label> <input type="password" name="pwd" onblur="chkpwd(this)" /> <div id="chkResult"></div> <label for="pwd2">重复密码</label> <input type="password" name="pwd2" /> </form> </body> </html>
方案三
- <html>
- <body>
- <form id="myform">
- <h1>Password Strength Meter - Demo</h1>
- <script type="text/javascript" s>
- // Password strength meter v1.0
- // Matthew R. Miller - 2007
- // www.codeandcoffee.com
- // Based off of code from http://www.intelligent-web.co.uk
- // Settings
- // -- Toggle to true or false, if you want to change what is checked in the password
- var bCheckNumbers = true;
- var bCheckUpperCase = true;
- var bCheckLowerCase = true;
- var bCheckPunctuation = true;
- var nPasswordLifetime = 365;
- // Check password
- function checkPassword(strPassword)
- {
- // Reset combination count
- nCombinations = 0;
- // Check numbers
- if (bCheckNumbers)
- {
- strCheck = "0123456789";
- if (doesContain(strPassword, strCheck) > 0)
- {
- nCombinations += strCheck.length;
- }
- }
- // Check upper case
- if (bCheckUpperCase)
- {
- strCheck = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- if (doesContain(strPassword, strCheck) > 0)
- {
- nCombinations += strCheck.length;
- }
- }
- // Check lower case
- if (bCheckLowerCase)
- {
- strCheck = "abcdefghijklmnopqrstuvwxyz";
- if (doesContain(strPassword, strCheck) > 0)
- {
- nCombinations += strCheck.length;
- }
- }
- // Check punctuation
- if (bCheckPunctuation)
- {
- strCheck = ";:-_=+\|//?^&!.@$?*()%~<>{}[]";
- if (doesContain(strPassword, strCheck) > 0)
- {
- nCombinations += strCheck.length;
- }
- }
- // Calculate
- // -- 500 tries per second => minutes
- var nDays = ((Math.pow(nCombinations, strPassword.length) / 500) / 2) / 86400;
- // Number of days out of password lifetime setting
- var nPerc = nDays / nPasswordLifetime;
- return nPerc;
- }
- // Runs password through check and then updates GUI
- function runPassword(strPassword, strFieldID)
- {
- // Check password
- nPerc = checkPassword(strPassword);
- // Get controls
- var ctlBar = document.getElementById(strFieldID + "_bar");
- var ctlText = document.getElementById(strFieldID + "_text");
- if (!ctlBar || !ctlText)
- return;
- // Set new width
- var nRound = Math.round(nPerc * 100);
- if (nRound < (strPassword.length * 5))
- {
- nRound += strPassword.length * 5;
- }
- if (nRound > 100)
- nRound = 100;
- ctlBar.style.width = nRound + "%";
- // Color and text
- if (nRound > 95)
- {
- strText = "极佳";
- strColor = "#3bce08";
- }
- else if (nRound > 75)
- {
- strText = "很好";
- strColor = "orange";
- }
- else if (nRound > 50)
- {
- strText = "一般";
- strColor = "#ffd801";
- }
- else
- {
- strColor = "red";
- strText = "极差";
- }
- ctlBar.style.backgroundColor = strColor;
- ctlText.innerHTML = "<span style='color: " + strColor + ";'>" + strText + "</span>";
- }
- // Checks a string for a list of characters
- function doesContain(strPassword, strCheck)
- {
- nCount = 0;
- for (i = 0; i < strPassword.length; i++)
- {
- if (strCheck.indexOf(strPassword.charAt(i)) > -1)
- {
- nCount++;
- }
- }
- return nCount;
- }
- </script>
- <b>Password:</b>
- <br />
- <input type="password" id="mypassword" name="mypassword" onkeyup="runPassword(this.value, 'mypassword');" />
- <br />
- <br />
- <b>Password Strength:</b>
- <br />
- <div style="width: 100px;">
- <div id="mypassword_text" style="font-size: 10px;"></div>
- <div id="mypassword_bar" style="font-size: 1px; height: 2px; width: 0px; border: 1px solid white;"></div>
- </div>
- </form>
- </body>
- </html>
<html> <body> <form id="myform"> <h1>Password Strength Meter - Demo</h1> <script type="text/javascript" s> // Password strength meter v1.0 // Matthew R. Miller - 2007 // www.codeandcoffee.com // Based off of code from http://www.intelligent-web.co.uk // Settings // -- Toggle to true or false, if you want to change what is checked in the password var bCheckNumbers = true; var bCheckUpperCase = true; var bCheckLowerCase = true; var bCheckPunctuation = true; var nPasswordLifetime = 365; // Check password function checkPassword(strPassword) { // Reset combination count nCombinations = 0; // Check numbers if (bCheckNumbers) { strCheck = "0123456789"; if (doesContain(strPassword, strCheck) > 0) { nCombinations += strCheck.length; } } // Check upper case if (bCheckUpperCase) { strCheck = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (doesContain(strPassword, strCheck) > 0) { nCombinations += strCheck.length; } } // Check lower case if (bCheckLowerCase) { strCheck = "abcdefghijklmnopqrstuvwxyz"; if (doesContain(strPassword, strCheck) > 0) { nCombinations += strCheck.length; } } // Check punctuation if (bCheckPunctuation) { strCheck = ";:-_=+\|//?^&!.@$?*()%~<>{}[]"; if (doesContain(strPassword, strCheck) > 0) { nCombinations += strCheck.length; } } // Calculate // -- 500 tries per second => minutes var nDays = ((Math.pow(nCombinations, strPassword.length) / 500) / 2) / 86400; // Number of days out of password lifetime setting var nPerc = nDays / nPasswordLifetime; return nPerc; } // Runs password through check and then updates GUI function runPassword(strPassword, strFieldID) { // Check password nPerc = checkPassword(strPassword); // Get controls var ctlBar = document.getElementById(strFieldID + "_bar"); var ctlText = document.getElementById(strFieldID + "_text"); if (!ctlBar || !ctlText) return; // Set new width var nRound = Math.round(nPerc * 100); if (nRound < (strPassword.length * 5)) { nRound += strPassword.length * 5; } if (nRound > 100) nRound = 100; ctlBar.style.width = nRound + "%"; // Color and text if (nRound > 95) { strText = "极佳"; strColor = "#3bce08"; } else if (nRound > 75) { strText = "很好"; strColor = "orange"; } else if (nRound > 50) { strText = "一般"; strColor = "#ffd801"; } else { strColor = "red"; strText = "极差"; } ctlBar.style.backgroundColor = strColor; ctlText.innerHTML = "<span style='color: " + strColor + ";'>" + strText + "</span>"; } // Checks a string for a list of characters function doesContain(strPassword, strCheck) { nCount = 0; for (i = 0; i < strPassword.length; i++) { if (strCheck.indexOf(strPassword.charAt(i)) > -1) { nCount++; } } return nCount; } </script> <b>Password:</b> <br /> <input type="password" id="mypassword" name="mypassword" onkeyup="runPassword(this.value, 'mypassword');" /> <br /> <br /> <b>Password Strength:</b> <br /> <div style="width: 100px;"> <div id="mypassword_text" style="font-size: 10px;"></div> <div id="mypassword_bar" style="font-size: 1px; height: 2px; width: 0px; border: 1px solid white;"></div> </div> </form> </body> </html>
方案四
- <html>
- <title>密码强度计算-www.codefans.net</title>
- <head>
- <style type="text/css">
- <!--
- .text {
- height: 16px;
- width: 160px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-style: solid;
- border-right-style: solid;
- border-bottom-style: solid;
- border-left-style: solid;
- border-top-color: #999999;
- border-right-color: #F0F0F0;
- border-bottom-color: #F0F0F0;
- border-left-color: #999999;
- }
- .style1 {font-size: 12px}
- .m {
- background-image: url(image/m.gif);
- background-repeat: no-repeat;
- height: 15px;
- width: 158px;
- }
- .r {
- background-image: url(image/r.gif);
- background-repeat: no-repeat;
- height: 15px;
- width: 158px;
- }
- .z {
- background-image: url(image/z.gif);
- background-repeat: no-repeat;
- height: 15px;
- width: 158px;
- }
- .q {
- background-image: url(image/q.gif);
- background-repeat: no-repeat;
- height: 15px;
- width: 158px;
- }
- .style5 {font-size: 12px; color: #FF0000; }
- .style6 {font-size: 12px; color: #F1F1F1; }
- .style7 {font-size: 12px; color: #F1F1F1; }
- .style8 {font-size: 12px; color: green; }
- .style9 {font-size: 12px; color: red; }
- -->
- </style>
- </head>
- <script language=javascript>
- 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; //特殊字符
- }
- function bitTotal(num){
- modes=0;
- for (i=0;i<5;i++){
- if (num & 1) modes++;
- num>>>=1;
- }
- return modes;
- }
- function checkStrong(sPW){
- if (sPW.length<=5)
- return 0; //密码太短
- Modes=0;
- for (i=0;i<sPW.length;i++){
- Modes|=CharMode(sPW.charCodeAt(i));
- }
- return bitTotal(Modes);
- }
- function pwStrength(pwd,vImg,vImgs,ilength){
- if(pwd.length<=0){
- document.getElementById(vImgs).innerHTML="<span style=color:red;font-size:12px>"+16+"</span>";
- }
- else{
- document.getElementById(vImgs).innerHTML="<span style=color:red;font-size:12px>"+(16-pwd.length)+"</span>";
- }
- if (pwd==null||pwd==''){
- document.getElementById(vImg).className="m";
- //document.getElementById(ilength).className="style6";
- }
- else{
- S_level=checkStrong(pwd);
- switch(S_level){
- case 0:
- document.getElementById(vImg).className="m";
- //document.getElementById(ilength).className="style6";
- break;
- case 1:
- document.getElementById(vImg).className="r";
- //document.getElementById(ilength).className="style7";
- break;
- case 2:
- document.getElementById(vImg).className="z";
- //document.getElementById(ilength).className="style8";
- break;
- default:
- document.getElementById(vImg).className="q";
- //document.getElementById(ilength).className="style9";
- }
- }
- return;
- }
- </script>
- <body>
- <div align="center">
- <p> <br>
- </p>
- <form name="form1" method="post" action="">
- <table width="240" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td width="69" height="24">
- <div align="right" class="style1">密 码:</div></td>
- <td width="171"><div align="center">
- <input name="str1" type="password" class="text" onKeyUp="pwStrength(this.value,'img','imgs','ilength')" value="" maxlength="16" >
- </div></td>
- </tr>
- <tr>
- <td height="24">
- <div align="right" class="style1">密码强度:</div></td>
- <td height="19"><div align="center">
- <table width="160" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td align="center" valign="middle" class="m" id="img">
- <table width="90%" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td width="46%"><div align="right" class="style6" id="ilength"></div></td>
- <td width="14%"> </td>
- <td width="40%" id="imgs"><span class="style5">16</span></td>
- </tr>
- </table></td>
- </tr>
- </table>
- </div></td>
- </tr>
- </table>
- </form>
- </div>
- </body>
- </html>
<html> <title>密码强度计算-www.codefans.net</title> <head> <style type="text/css"> <!-- .text { height: 16px; width: 160px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #999999; border-right-color: #F0F0F0; border-bottom-color: #F0F0F0; border-left-color: #999999; } .style1 {font-size: 12px} .m { background-image: url(image/m.gif); background-repeat: no-repeat; height: 15px; width: 158px; } .r { background-image: url(image/r.gif); background-repeat: no-repeat; height: 15px; width: 158px; } .z { background-image: url(image/z.gif); background-repeat: no-repeat; height: 15px; width: 158px; } .q { background-image: url(image/q.gif); background-repeat: no-repeat; height: 15px; width: 158px; } .style5 {font-size: 12px; color: #FF0发表评论
-
更深入的TOMCAT中文乱码解决之道,包括GET/POST(转)
2011-06-23 10:45 1605在tomcat5中发现了以前处 ... -
一些软件设计的原则
2011-06-20 15:20 908摘录自:http://coolshell.cn/article ... -
Jboss4集群配置
2011-06-08 17:49 35211.前言 2006年,Jboss公司被 ... -
ORACLE索引介绍与高性能SQL优化
2011-06-08 15:52 1023什么是索引 索引是建立在表的一列或多个列上的辅助对象,目 ... -
说说大型高并发高负载网站的系统架构(from tianya)
2011-06-07 15:03 913说说大型高并发高负载 ... -
dao对象不能使用注解@Repository实例化的情形之一
2011-06-03 17:47 15764项目中定义一个dao对象,继承了 JdbcDaoSupport ... -
SQL Server 索引结构及其使用(四)
2011-06-01 23:04 776聚集索引的重要性和如 ... -
SQL Server 索引结构及其使用(三)
2011-06-01 23:04 751实现小数据量和海量数据的通用分页显示存储过程 建立一个 W ... -
SQL Server 索引结构及其使用(二)
2011-06-01 23:03 863改善SQL语句 很多人 ... -
SQL Server 索引结构及其使用1
2011-06-01 22:59 852一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特 ... -
如何使用Spring来管理Struts中的Action
2011-03-25 20:31 774当指定struts.objectFactory为spring时 ... -
eclipse无法启动JBoss5.1.0的解决小办法
2011-03-07 15:00 2024最近看看JBoss,发现早已有了新版本,好久没有关注了,于是下 ... -
log4j配置详解1
2010-12-17 15:15 777>>>>1. 概述Log4j ... -
Java日志系统框架的设计与实现
2010-12-17 11:15 1366在Java 领域,存在大量的日志组件,open-open收录了 ... -
胜负彩10001期欧洲四大博彩公司最新赔率
2010-09-20 13:37 24胜负彩对阵 威廉希尔 Interwetten 立博l ... -
明明白白Unsupported major.minor version 49.0的错误
2010-08-05 14:33 518转载自:http://www.blogjava.net/Unm ... -
一位系统分析师的工作经验总结
2010-07-20 15:39 1553谈到项目的需求分析,几乎每个软件开发人员 ... -
Tomcat6的结构
2010-05-17 17:28 1655本文分为三部分,分别为: Tomcat文件系统 Tom ... -
tomcat生命周期管理 LifeCycle
2010-05-17 15:12 1003Servlet规范中定义了一个Servlet的生命周期, To ... -
计算机端口管理
2010-05-12 11:03 923在运行中输入cmd,进入命令行,然后输入netstat -an ...
相关推荐
因此,了解如何取消Win2008的密码复杂度要求对于系统管理员来说是一项实用技能。 #### 二、取消Win2008密码复杂度的具体步骤 ##### 2.1 登陆Win2008计算机 - **步骤**:首先,使用具有管理员权限的账户登录到...
为了实现这些策略,可以编写JavaScript函数来检测密码是否满足条件,并通过动态修改密码强度指示器(如`vr_sd_999.gif`这样的图片)来实时反馈。同时,也可以引入第三方库,如zxcvbn,它能根据密码的复杂度给出评分...
在Ubuntu操作系统中,管理和保护用户账户的安全性至关重要,这通常涉及到定期修改密码以及实施密码复杂度策略。本文将详细介绍如何在Ubuntu上修改密码以及设置密码复杂度策略。 首先,我们来讨论如何修改密码。在...
需要注意的是,密码复杂度有较高的要求:至少8位,且必须包含数字和字母。为了提高安全性,建议使用更复杂的组合,例如大写字母、小写字母、数字以及特殊符号。 3. **确认密码**:输入新密码后,系统会要求再次输入...
jsp密码强度检测jsp密码强度检测jsp密码强度检测
很多时候都要实现密码强度的.我们登录等等都要实现.你可以看看
密码复杂度设置是确保用户密码强度的关键措施,它通过限制密码的长度、过期时间以及复杂性要求,防止轻易被破解。 在Linux系统中,密码复杂度的设置通常涉及到两个主要文件的配置:`/etc/login.defs` 和 `/etc/pam....
检查密码复杂度的逻辑 ... // 更新显示 $("#passwordStrength").text("密码强度: " + strengthScore + "/10"); }); ``` 3. **CSS样式**:根据得分改变进度条的宽度或颜色,以直观地表示密码强度。 ```css #...
网页模板——JS实现随机密码生成器可控制密码复杂度是一个基于JavaScript技术的实用工具,用于生成自定义复杂度的随机密码。这个模板提供了一个用户友好的界面,允许用户根据自己的安全需求选择密码的长度和复杂性,...
密码强度测试的重要性在于,它可以帮助开发者和管理员了解应用程序对密码强度的控制是否严格,从而为用户账户提供更好的保护。同时,密码强度测试也可以帮助开发者和管理员了解应用程序中的安全漏洞,并进行相应的...
根据提供的文件信息,本文将详细解析“密码强度的验证 asp.net”这一主题,并深入探讨其在Web安全领域的应用。 ### 一、密码强度验证的重要性 在网络安全领域,密码是保护用户账户的第一道防线。一个强健的密码...
本文将深入探讨如何使用C/C++编程语言来实现一个简单的密码强度检查器,根据标题和描述,我们将创建一个程序,它能接收用户输入的密码并评估其强度。 首先,我们需要理解密码强度的分类标准: 1. **弱密码**:通常...
在IT领域,尤其是在网络安全和用户认证方面,密码强度是一个至关重要的概念。正则表达式(Regular Expression)是一种强大的工具,用于在字符串中匹配特定模式,它在这里被用来判断用户设定的密码是否符合一定的强度...
### JS配合Web判断密码强度实例解析 在网络安全领域中,密码强度评估是非常重要的一个环节,它可以帮助用户了解自己设置的密码...此外,还可以进一步增强功能,比如增加密码复杂度建议,帮助用户创建更安全的密码。
其次,该组件整合了Dropbox的zxcvbn库,这是一个强大的密码强度评估工具。zxcvbn能够分析用户输入的密码,根据其复杂性、常见模式和字典匹配等规则,给出一个强度评分。这个评分可以直观地显示给用户,鼓励他们创建...
当然,密码强度校验的算法不止这一种,还可以通过其他手段来增加密码强度的校验复杂度,例如使用NIST标准进行密码强度的评估。 使用jQuery进行密码强度校验的代码片段应该被嵌入到HTML页面中,配合相应的样式和脚本...
在实际应用中,java实现的密码强度检测功能可以用于各种密码管理系统,例如密码管理软件、身份验证系统等。同时,这种功能也可以应用于web应用程序中,例如注册页面、登录页面等,以提高用户的密码安全性。 java...
zxcvbn是一个强大的密码强度估计器,由Dropbox开发,能够分析密码并给出一个评分,帮助用户创建更安全的密码。 首先,你需要了解zxcvbn库的基本原理。它通过分析密码的复杂性,包括但不限于常见单词、数字序列、...
根据给定文件的信息,我们可以提炼出关于“实现密码强度功能代码”的详细知识点,涉及前端JavaScript编程、正则表达式、CSS样式控制以及密码复杂度评估算法。以下是对这些知识点的深入解析: ### 密码强度功能实现...