juststeveking/password-generator

轻松生成随机、易记的密码。

1.0.0 2022-11-16 11:02 UTC

This package is auto-updated.

Last update: 2024-08-28 22:59:36 UTC


README

Latest Version on Packagist Test Suite Total Downloads

免责声明。本工具不推荐用于生产环境中创建密码。我的使用场景是生成一次性使用代码,如一次性密码。由于单词列表相当小,这可能使您容易受到字典攻击。

安装

您可以通过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)。有关更多信息,请参阅许可文件