php计算密码强度

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

下面的php代码用于测试给定密码的强度,最高强度为100

<?php
/**
 * 
 * @param String $string
 * @return float
 * 
 * Returns a float between 0 and 100. The closer the number is to 100 the
 * the stronger password is; further from 100 the weaker the password is.
 */
function password_strength($string){
    $h    = 0;
    $size = strlen($string);
    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;
}
 
var_dump(password_strength("Correct Horse Battery Staple"));
echo "<br>";
var_dump(password_strength("Super Monkey Ball"));
echo "<br>";
var_dump(password_strength("Tr0ub4dor&3"));
echo "<br>";
var_dump(password_strength("abc123"));
echo "<br>";
var_dump(password_strength("sweet"));

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php判断来访者是否是搜索引擎的爬虫

下一篇:php按照指定长度截取字符串的代码