perbility / bcrypt-bundle
该包提供了一种简单的方法,在Symfony2环境下创建和使用BCrypt散列。
该包的官方仓库似乎已不存在,因此该包已被冻结。
Requires
- php: ~5.3
- symfony/framework-bundle: ~2.1
- symfony/security-bundle: ~2.1
Requires (Dev)
- symfony/console: ~2.1
This package is auto-updated.
Last update: 2024-06-15 19:24:58 UTC
README
PerbilityBCryptBundle 
此包提供了一种简单的方法,在Symfony2环境中创建和使用BCrypt散列。
要求
- PHP >= 5.3
- Symfony2 >= 2.1
如果您想在命令行模式下使用交互式密码/值提示,则您的系统应能够执行 /usr/bin/env bash
。PHP 不支持 STDIN 自带的 "隐藏" 输入。
安装
建议使用 composer 安装此包(和Symfony2)。要安装,您需要运行以下命令
$ composer require perbility/bcrypt-bundle:1.*
然后更新您的 AppKernel.php 文件,并注册新的包
// in AppKernel::registerBundles() $bundles = array( // ... new Perbility\Bundle\BCryptBundle\PerbilityBCryptBundle() // ... );
最后,您需要设置一个配置参数(见下文段落)即可完成。
配置
BCryptBundle 需要存在一个 "global_salt"。这可以在应用的配置中完成,例如在 config.yml 中。
perbility_bcrypt: global_salt: please-change-me-to-something-secret
此外,您可以使用 cost_factor
设置 bcrypt 成本因子(默认为 12)。因此,完整的配置可以如下所示
perbility_bcrypt: global_salt: please-change-me-to-something-secret cost_factor: 14
在包的早期版本中,cost_factor
被命名为 iterations
。旧的配置键仍然被读取(只要没有 cost_factor
),但已被弃用。
使用
BCrypt 可以作为服务容器中的服务或作为命令行工具使用。
服务容器
BCrypt 服务默认注册为 perbility_bcrypt
。该服务是 Perbility\Bundle\BCryptBundle\BCrypt\BCrypt
的一个实例,并相应地执行。
安全编码器
有一个特殊的包装器用于在 Symfony/Component/Security 环境中使用 BCrypt 服务。以下代码片段提供了一个示例
security
encoders:
Symfony\Component\Security\Core\User\User:
id: security.encoder.bcrypt
命令行
bcrypt:hash
bcrypt:check
bcrypt:benchmark
许可证
该库受 MIT 许可证的许可。有关完整许可证文本,请参阅 Resource/meta/LICENSE
待办事项
- 细化要求(添加已测试的 Symfony 2.0)
- 改进文档