lukeelten / cakephp-password-hasher
此包已被弃用,不再维护。未建议替代包。
一组用于 CakePHP 3 的密码哈希器
1.0.3
2019-12-03 14:32 UTC
Requires
- php: >=7.0
- cakephp/cakephp: ~3.0
- paragonie/sodium_compat: ^1.6
Requires (Dev)
- cakephp/cakephp-codesniffer: *
- phpunit/phpunit: >=5.0 < 7
Suggests
- php: >=7.2
- ext-libsodium: *
- ext-sodium: *
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 版本。