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