先收藏一下,说不定什么时候就用上了,
/**
* 检测密码强度
*/
function password_strength($string){
$h = 0;
$size = strlen($string);
//print_r(count_chars($string, 1));
foreach(count_chars($string, 1) as $v){ //count_chars:返回字符串所用字符的信息
$p = $v / $size;
$h -= $p * log($p) / log(2);
}
$strength = ($h / 4) * 100;
if($strength > 100){
$strength = 100;
}
return $strength;
}
var_dump(password_strength("Correct Horse Battery Staple"));
echo "
";
var_dump(password_strength("Super Monkey Ball 123 +"));
echo "
";
var_dump(password_strength("Tr0ub4dor&3"));
echo "
";
var_dump(password_strength("abc123"));
echo "
";
var_dump(password_strength("sweet"));
输出结果如下: