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
一个简单快速的密码强度测试器,灵感来自 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