As senhas se tornaram uma ferramenta indispensável em nossas vidas e trabalho, mas uma senha insegura pode nos causar perdas desnecessárias. Como designers de sites, se pudermos realizar uma avaliação de segurança da senha inserida pelo usuário na página da web e exibir as informações imediatas correspondentes, será de grande ajuda para o usuário definir uma senha segura. Ao mesmo tempo, também torna o site mais fácil de usar e atraente.
O que é uma senha segura? Este programa a avalia da seguinte maneira.
1. Se a senha tiver menos de 5 caracteres, é considerada uma senha fraca.
2. Se a senha consistir apenas de números, letras minúsculas, letras maiúsculas ou outros símbolos especiais, ela será considerada uma senha fraca.
3. Se a senha consistir em dois tipos de números, letras minúsculas, letras maiúsculas ou outros símbolos especiais, é considerada uma senha moderadamente segura.
4. Se a senha consistir em mais de três tipos de números, letras minúsculas, letras maiúsculas ou outros símbolos especiais, é considerada uma senha relativamente segura.
O programa específico é o seguinte (endereço de demonstração: http://www.netInter.cn/reg):
<script language=javascript>
//Design do programa: Global Wanwei, especializada em registro de nomes de domínio e serviços de hospedagem virtual
//Site: http://www.netInter.cn
//Este programa é um programa original da Global Wanwei. Se precisar reimprimi-lo, indique o URL e a fonte.
//As informações acima são parte integrante do texto do artigo, portanto, se desejar reimprimir este artigo, deverá reter as informações acima.
//Função CharMode
//Teste a qual categoria um personagem pertence.
função CharMode(iN){
if (iN>=48 && iN <=57) //número
retornar 1;
if (iN>=65 && iN <=90) //letras maiúsculas
retorno 2;
if (iN>=97 && iN <=122) //minúsculas
retornar 4;
outro
return 8; //Caracteres especiais
}
//função bitTotal
//Calcula quantos modos existem na senha atual
function bitTotal(num){
modos=0;
para (i=0;i<4;i++){
if (num & 1) modos++;
num>>>=1;
}
modos de retorno;
}
//função checkStrong
//Retorna a
função do nível de força da senha checkStrong(sPW){
se (sPW.comprimento<=4)
return 0; //A senha é muito curta
Modos=0;
for (i=0;i<sPW.length;i++){
//Teste a categoria de cada personagem e conte quantos padrões existem.
Modos|=CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modos
}
//função pwStrength
);
//Quando o usuário solta o teclado ou a caixa de entrada de senha perde o foco, cores diferentes são exibidas de acordo com os diferentes níveis
function pwStrength(pwd){
O_color="#eeeee";
L_color="#FF0000";
M_color="#FF9900";
H_color="#33CC00";
if (pwd==null||pwd==''){
Lcolor=Mcolor=Hcolor=O_color;
}
outro{
S_level=checkStrong(senha);
mudar(Nível_S) {
caso 0:
Lcolor=Mcolor=Hcolor=O_color;
caso 1:
Lcor=L_cor;
Mcolor=Hcolor=O_color;
quebrar;
caso 2:
Lcolor=Mcolor=M_color;
Hcor=O_cor;
quebrar;
padrão:
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;
retornar;
}
</script>
<form name=form1 action="" >
Digite a senha:<tipo de entrada=tamanho da senha=10 onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value)>
<br>Força da senha:
<table width="217" border="1" cellpacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'>
<tr align="center" bgcolor="#eeeeee">
<td width="33%" id="strength_L">Fraco</td>
<td width="33%" id="strength_M">Médio</ td>
<td width="33%" id="strength_H">Forte</td>
</tr>
</table>
</form>