perbility/bcrypt-bundle

该包提供了一种简单的方法,在Symfony2环境下创建和使用BCrypt散列。

该包的官方仓库似乎已不存在,因此该包已被冻结。

安装: 1,586

依赖者: 0

建议者: 0

安全: 0

星级: 4

关注者: 12

分支: 2

开放性问题: 0

类型:symfony-bundle

1.0.0 2013-03-04 16:03 UTC

This package is auto-updated.

Last update: 2024-06-15 19:24:58 UTC


README

PerbilityBCryptBundle Build Status

此包提供了一种简单的方法,在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)
  • 改进文档