Hoje vamos fazer um script que pode te ajudar a definir a segurança de uma determinada senha, e inclusive você pode disponibilizá-lo em seu site para que seus visitantes façam o teste e escolha uma senha segura.
Para valorizar o grau de segurança de uma senha vamos levar em conta estas pontuações sobre diferentes conceitos:
letras e números: +30%
maiúsculas e minúsculas: +30%
entre 4 e 5 caracteres: +10%
entre 6 e 8 caracteres: +30%
mais de 8 caracteres: +40%
Para controlar a segurança, vamos criar esta função:function seguranca_senha(senha){
var seguranca = 0;
if (senha.length!=0){
if (tem_numeros(senha) && tem_letras(senha)){
seguranca += 30;
}
if (tem_minusculas(senha) && tem_maiusculas(senha)){
seguranca += 30;
}
if (senha.length >= 4 && senha.length <= 5){ seguranca += 10; }else{ if (senha.length >= 6 && senha.length <= 8){ seguranca += 30; }else{ if (senha.length > 8){
seguranca += 40;
}
}
}
}
return seguranca
}
e agora teremos que ter um formulario que irá pedir a senha, então usaremos este:<form>
Senha: <input type="password" size=15 name="senha" onkeyup="mostra_seguranca_senha(this.value, this.form)">
<i>seguranca:</i> <input name="seguranca" type="text" style="border: 0px; background-color:ffffff; text-decoration:italic;" onfocus="blur()">
</form>
Temos 1 campo INPUT de tipo PASSWORD onde escreveremos a senha, um evento ONKEYUP que se executa quando o usuário clica uma tecla
Agora vamos a função de segurança da senha que irá atualizar o valor de segurança assim que ela for escrita:
function mostra_seguranca_senha(senha,formulario){
seguridad=seguranca_senha(senha);
formulario.seguranca.value=seguranca + "%";
}
Montando tudo no temos o seguinte código que fará a verificação se segurança de sua senha:
<script>
var numeros="0123456789";
var letras="abcdefghyjklmnñopqrstuvwxyz";
var letras_mayusculas="ABCDEFGHYJKLMNÑOPQRSTUVWXYZ";
function tiene_numeros(texto){
for(i=0; i<texto.length; i++){
if (numeros.indexOf(texto.charAt(i),0)!=-1){
return 1;
}
}
return 0;
}
function tiene_letras(texto){
texto = texto.toLowerCase();
for(i=0; i<texto.length; i++){
if (letras.indexOf(texto.charAt(i),0)!=-1){
return 1;
}
}
return 0;
}
function tiene_minusculas(texto){
for(i=0; i<texto.length; i++){
if (letras.indexOf(texto.charAt(i),0)!=-1){
return 1;
}
}
return 0;
}
function tiene_mayusculas(texto){
for(i=0; i<texto.length; i++){
if (letras_mayusculas.indexOf(texto.charAt(i),0)!=-1){
return 1;
}
}
return 0;
}
function seguridad_clave(clave){
var seguridad = 0;
if (clave.length!=0){
if (tiene_numeros(clave) && tiene_letras(clave)){
seguridad += 30;
}
if (tiene_minusculas(clave) && tiene_mayusculas(clave)){
seguridad += 30;
}
if (clave.length >= 4 && clave.length <= 5){
seguridad += 10;
}else{
if (clave.length >= 6 && clave.length <= 8){
seguridad += 30;
}else{
if (clave.length > 8){
seguridad += 40;
}
}
}
}
return seguridad
}
function muestra_seguridad_clave(clave,formulario){
seguridad=seguridad_clave(clave);
formulario.seguridad.value=seguridad + "%";
}
</script>
<form>
Senha: <input type="password" size=15 name="clave" onkeyup="muestra_seguridad_clave(this.value, this.form)"> <i>segurança:</i> <input name="seguridad" type="text" style="border: 0px; background-color:ffffff; text-decoration:italic;" onfocus="blur()">
</form>