2013年7月29日星期一

[转] password strength

password strength


/**
 *
 * @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($string1) 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 
"
"
var_dump(password_strength("Super Monkey Ball"));
echo 
"
"
var_dump(password_strength("Tr0ub4dor&3"));
echo 
"
"
var_dump(password_strength("abc123"));
echo 
"
"
var_dump(password_strength("sweet"));

没有评论: