juststeveking / password-generator
轻松生成随机、易记的密码。
1.0.0
2022-11-16 11:02 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.25
Requires (Dev)
- laravel/pint: ^1.1
- nunomaduro/larastan: ^2.1
- orchestra/testbench: ^7.6
- pestphp/pest: ^1.21
README
免责声明。本工具不推荐用于生产环境中创建密码。我的使用场景是生成一次性使用代码,如一次性密码。由于单词列表相当小,这可能使您容易受到字典攻击。
安装
您可以通过composer安装此包
composer require juststeveking/password-generator
如果您正在使用Laravel,您可以使用以下命令发布配置文件:
php artisan vendor:publish --tag="password-generator-config"
设置 - Laravel
要设置此包,您可以替换配置文件中的单词,然后即可使用。
使用
在Laravel中使用外观
直接调用外观,从容器中解析密码生成器并调用静态方法。
use JustSteveKing\PasswordGenerator\Facades\Generator; // Generate a standard password $password = Generator::generate(); // example 'strong-car-fast-snail' // Generate a "secure" password $password = Generator::generateSecure(); // example 'str0ng-c4r-f4st-sn41l'
在Laravel中不使用外观
将合约注入到构造函数中,根据您的使用情况调用"generate"或"generateSecure"。
use JustSteveKing\PasswordGenerator\Contracts\GeneratorContract; use Illuminate\Http\JsonResponse; class GeneratePasswordController { public function __construct( private readonly GeneratorContract $generator, ) {} public function __invoke(): JsonResponse { return new JsonResponse( data: [ 'password' => $this->generator->generate(), // or generateSecure() for "secure" passwords. ], ); } }
在Laravel外使用
如果您有一个DI容器,只需使用实例解析类即可。请注意,您需要设置自己的容器指令并加载自己的单词列表。
// Once you have added this to your container, and injected $password = $this->generator->generate(); // Or like the Laravel implementation, generate a secure password $password = $this->generator->generateSecure();
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
安全漏洞
请查看我们的安全策略了解如何报告安全漏洞。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。