>백엔드 개발 >PHP 튜토리얼 >PHP는 비밀번호 강도를 계산합니다.

PHP는 비밀번호 강도를 계산합니다.

WBOY
WBOY원래의
2016-07-25 08:44:13984검색

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

  1. /**
  2. *
  3. * @param String $string
  4. * @return float
  5. *
  6. * Returns a float between 0 and 100. The closer the number is to 100 the
  7. * the stronger password is; further from 100 the weaker the password is.
  8. */
  9. function password_strength($string){
  10. $h = 0;
  11. $size = strlen($string);
  12. foreach(count_chars($string, 1) as $v){
  13. $p = $v / $size;
  14. $h -= $p * log($p) / log(2);
  15. }
  16. $strength = ($h / 4) * 100;
  17. if($strength > 100){
  18. $strength = 100;
  19. }
  20. return $strength;
  21. }
  22. var_dump(password_strength("Correct Horse Battery Staple"));
  23. echo "
    ";
  24. var_dump(password_strength("Super Monkey Ball"));
  25. echo "
    ";
  26. var_dump(password_strength("Tr0ub4dor&3"));
  27. echo "
    ";
  28. var_dump(password_strength("abc123"));
  29. echo "
    ";
  30. var_dump(password_strength("sweet"));
复制代码

PHP


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.