lukeelten/cakephp-password-hasher

此包已被弃用,不再维护。未建议替代包。

一组用于 CakePHP 3 的密码哈希器

安装: 275

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:cakephp-plugin

1.0.3 2019-12-03 14:32 UTC

This package is auto-updated.

Last update: 2023-01-29 03:10:55 UTC


README

此项目提供了一组 CakePHP 密码哈希器。大多数哈希器类都使用 CakePHP 的默认密码哈希器。

最有用的类是 "Argon2PasswordHasher",它提供了使用新的更安全的 Argon2i 算法来哈希密码的功能。此算法已集成到 PHP 7.2 中,但此项目提供了对 PHP 7.0 的向后兼容性。

此外,到目前为止,PHP 7.2 在 Alpine 上不支持 Argon2i。此项目为此提供了补丁。

要求

PHP 7.2

通常不需要任何要求。它应该能够直接运行。
重要:如果您在 Alpine Linux 上运行 PHP 7.2,请安装 sodium 扩展(php7-sodium)。

PHP 7.0 / 7.1

请安装 libsodium 扩展,无论是通过 PECL 还是包管理器。

安装

通过 composer 安装。无需插件加载或特殊配置。只需按以下方式使用项目即可。

composer require lukeelten/cakephp-password-hasher

使用方法

您可以使用 Argon2PasswordHasher 与默认的 Auth 插件,如下所示。

$this->loadComponent('Auth', [
    'authenticate' => [
        'Form' => [
            'passwordHasher' => Argon2PasswordHasher::class
            // 'passwordHasher' => SecurePasswordHasherChain::class
        ]
    ]
];

确保在设置用户模型属性时正确哈希密码

class User extends Entity
{
    protected function _setPassword($value) {
        $hasher = new Argon2PasswordHasher();
        return $hasher->hash($value);
    }
}

故障排除

如果您在安装 composer 依赖项时遇到问题,请删除 "composer.lock" 文件。它使用 PHP 7.2 生成,可能不适用于其他 PHP 版本。