<?php
if(isset($_POST["enviar"]))
{
$clave = $_POST["clave"];
echo "Seguridad de la clave: " . verificar_seguridad_clave($clave);
}
/**
* Funcion que devuelve la seguridad de una constraseña en %
*/
function verificar_seguridad_clave($string){
$h = 0;
$size = strlen($string);
# obtenemos la cantidad de caracteres repetidos en la cadena
foreach(count_chars($string, 1) as $v){
$p = $v / $size;
$h -= $p * log($p) / log(2);
}
$strength = ($h / 4) * 100;
if($strength > 100){
$strength = 100;
}
return $strength;
}
?>
<html>
<body>
<form action="" method="POST">
<p>Clave:</p>
<p><input type="password" name="clave"></p>
<p><input type="submit" name="enviar" value="Verificar"></p>
</form>
</body>
</html>
Comentarios sobre la versión: Versión 1 (1)
Una letra minuscula
Una letra mayuscula
Un numero
Un caracter no alfanumerico como ser: punto, coma, dos puntos, guion, etc.
Al menos 8 carateres como minimo.
No repitecion en sucesiones.
Este codigo solo verifica que no se repitan, le falta todo lo otro.
Voy a pensar como mejorar este codigo y subirlo,
Saludos,