siteworxpro/password-score

使用更复杂的方法查找密码强度

1.0.0 2018-02-16 02:11 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:20:11 UTC


README

Build Status

一个简单快速的密码强度测试器,灵感来自 WolframAlpha的计算方法

用法

$scorer = \Siteworx\Passwords\Scorer::score('SuperPassword!');

echo json_encode($scorer->toArray());

将输出结果,非常适合作为ajax端点使用

{
  "calculatedData": {
    "length": {
      "value": 56,
      "count": 14,
      "displayName": "Length"
    },
    "upperCase": {
      "value": 13,
      "count": 2,
      "displayName": "Uppercase Letters"
    },
    "lowerCase": {
      "value": 17,
      "count": 11,
      "displayName": "Lowercase Letters"
    },
    "numbers": {
      "value": 0,
      "count": 0,
      "displayName": "Numbers"
    },
    "specialChars": {
      "value": 13,
      "count": 1,
      "displayName": "Special Characters"
    },
    "numbersOnly": {
      "value": 0,
      "count": "no",
      "displayName": "Numbers Only"
    },
    "lettersOnly": {
      "value": -10,
      "count": "yes",
      "displayName": "Letters Only"
    },
    "repeatingChars": {
      "value": -1,
      "count": 1,
      "displayName": "Repeating Characters"
    },
    "reusingChars": {
      "value": -4,
      "count": 2,
      "displayName": "Reusing Characters"
    },
    "conscUpperCase": {
      "value": -8,
      "count": 4,
      "displayName": "Consecutive Upper Case"
    },
    "conscLowerCase": {
      "value": -26,
      "count": 13,
      "displayName": "Consecutive Lower Case"
    },
    "conscNumbers": {
      "value": 0,
      "count": 0,
      "displayName": "Consecutive Numbers"
    },
    "seqLetters": {
      "value": 0,
      "count": 0,
      "displayName": "Sequential Letters"
    },
    "seqNumbers": {
      "value": 0,
      "count": 0,
      "displayName": "Sequential Numbers"
    }
  },
  "total": 50,
  "strength": {
    "text_value": "Poor",
    "int_value": 1
  }
}

您还可以访问几个辅助方法

if ($scorer->isExcellent()) {
    echo 'Your password is excellent :)';
}
if ($scorer->isPoor()) {
    echo 'Your password is poor :(';
}

echo 'Your Password is ' . $scorer->stringValue();
Your Password is Poor

偏差

您还可以向评分器提供一个偏差,如果您希望密码的评分更高或更低

传入一个介于-5到5之间的值。

$scorer = \Siteworx\Passwords\Scorer::score('N0wAStrongPassword!', -5);
echo 'This password is ' . $scorer->stringValue();
$scorer = \Siteworx\Passwords\Scorer::score('N0wAStrongPassword!', 0);
echo 'This password is ' . $scorer->stringValue();
$scorer = \Siteworx\Passwords\Scorer::score('N0wAStrongPassword!', 5);
echo 'This password is ' . $scorer->stringValue();
This password is Poor
This password is Fair
This password is Very Strong