andrey-helldar / strong-password
此包已被废弃,不再维护。未建议替代包。
此包为Laravel应用程序提供确保强密码的验证器
v1.7.1
2020-12-30 19:46 UTC
Requires
- php: ^7.1.3|^8.0
- illuminate/contracts: ^5.5|^6.0|^7.0|^8.0
- illuminate/support: ^5.5|^6.0|^7.0|^8.0
- illuminate/validation: ^5.5|^6.0|^7.0|^8.0
- kwn/number-to-words: ^1.12
Requires (Dev)
- orchestra/testbench: ^3.5|^4.0|^5.0|^6.0
- phpunit/phpunit: ^6.0|^7.0|^8.0|^9.0
Suggests
- symfony/thanks: Give thanks (in the form of a GitHub) to your fellow PHP package maintainers
README
此包为Laravel应用程序提供确保强密码的验证器。
安装
要获取Laravel Strong Password的最新版本,只需使用 Composer 引入项目
$ composer require andrey-helldar/strong-password
或者手动更新 require
块的 composer.json
并运行 composer update
。
{ "require-dev": { "andrey-helldar/strong-password": "^1.0" } }
如果您不使用自动发现,请将 ServiceProvider 添加到 app/Providers/AppServiceProvider.php
中的 providers 数组
public function register() { $this->app->register(\Helldar\StrongPassword\ServiceProvider::class); }
您还可以发布配置文件以更改实现(例如,将接口更改为特定类)
php artisan vendor:publish --provider="Helldar\StrongPassword\ServiceProvider"
使用方法
规则
现在,一些规则扩展了 Validator
门面
psw_letters
- 字段必须包含至少一个字母。psw_case_diff
- 字段必须包含大小写字母。psw_numbers
- 字段必须包含至少一个数字。psw_symbols
- 字段必须包含至少一个符号。psw_min_length
- 字段必须至少包含十个字符。psw_strong
- 字段必须包含至少两个大小写字母、至少一个数字和一个特殊字符,以及至少十个字符(包括所有规则:psw_letters
、psw_case_diff
、psw_numbers
、psw_symbols
和psw_min_length
)。
// 1 $validator = \Validator::make(['foo' => 'qwerty'], ['foo' => 'psw_letters']); $validator->passes(); // return `true` // 2 $validator = \Validator::make(['bar' => 'qwerty'], ['bar' => 'psw_case_diff']); $validator->passes(); // return `false` // 3 $validator = \Validator::make(['baz' => 'qweRTY123!#'], ['baz' => 'psw_strong']); $validator->passes(); // return `true` // 4 $validator = \Validator::make(['baz' => 'qweRTY123!#'], ['baz' => 'psw_letters|psw_min_length']); $validator->passes(); // return `true`
上下文验证
您也可以通过访问 Password
门面在代码内部执行条件检查
use Helldar\StrongPassword\Facades\Password; return Password::validate('qwerty'); return Password::errors('qwerty'); return Password::isAllow('qwerty');
例如,我们将在 config/strong-password.php 文件中定义以下规则
return [ 'min_length' => 27, 'rules' => [ 'psw_letters', 'psw_numbers', 'psw_min_length', ], ];
因此,我们将得到以下结果
$password = 'qwerty'; return Password::validate($password); // throw ValidationException return Password::errors($password); // return array: // [ // 'password' => [ // 'The password must include at least one number.', // 'The password must be at least twenty-seven characters.', // ] // ] return Password::isAllow($password); // return false
和
$password = 'qWeRtYuIoP[]#!123qWeRtYuIqwd'; return Password::validate($password); // [ // 'password' => 'qWeRtYuIoP[]#!123qWeRtYuIqwd' // ] return Password::errors($password); // return null return Password::isAllow($password); // return true
许可证
此包受 MIT 许可证 的许可。