nmure/encryptor-bundle

nmure/encryptor 库的 Symfony 扩展包

v2.0.0 2017-12-02 19:38 UTC

This package is not auto-updated.

Last update: 2024-09-19 15:04:07 UTC


README

Build Status Coverage Status

nmure/encryptor 库的 Symfony 扩展包。

目录

介绍

此扩展包将 nmure/encryptor 库集成到 Symfony 中。在继续之前,建议您阅读库的文档。

安装

步骤 1 : 下载扩展包

打开命令行控制台,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本

$ composer require nmure/encryptor-bundle "~2.0.0"

对于 Symfony < 4.0,运行

$ composer require nmure/encryptor-bundle "~1.0.0"

此命令需要您全局安装了 Composer,如 Composer 文档中的 安装章节 中所述。

步骤 2 : 启用扩展包

然后,通过将其添加到项目中 app/AppKernel.php 文件中注册的扩展包列表来启用扩展包

// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Nmure\EncryptorBundle\NmureEncryptorBundle(),
            // ...
        );
    }
}

步骤 3 : 配置扩展包

将以下配置添加到您的 config.yml 文件中

# app/config/config.yml
nmure_encryptor:
    encryptors:
        my_encryptor:
            secret: 452F93C1A737722D8B4ED8DD58766D99 # should be a complex key defined in your parameters.yml file
        # you can add as many encryptors as you want
        my_other_encryptor:
            secret: 6A4E723D3F4AA81ACF776DCF2B6AEC45 # you should use one unique secret key by encryptor

使用方法

您可以通过指定加密器的名称来访问 config.yml 文件中定义的加密器,例如:通过访问 nmure_encryptor.my_encryptor 将返回在 my_encryptor 键下定义的加密器。

所有加密器都是 Nmure\Encryptor\Encryptor 类的实例。要使用它们,请调用 encrypt / decrypt 函数

// from a controller :
$encryptor = $this->get('nmure_encryptor.my_encryptor');
$encrypted = $encryptor->encrypt('hello world');
// ...
$decrypted = $encryptor->decrypt($encrypted);

配置

以下是您可以在 app/config.yml 文件中 nmure_encryptor 键下使用的所有配置选项的列表

  • encryptors : 数组,必需。主要的加密器数组。必须包含至少一个加密器。
    • my_encryptor : 创建一个名为 nmure_encryptor.my_encryptor 的新加密器服务。
      • secret : 字符串,必需。秘密加密密钥。
      • cipher : 字符串,可选。加密方法(默认为 AES-256-CBC)。
      • turn_hex_key_to_bin : 布尔值,可选。指示上述十六进制秘密密钥是否应转换为二进制密钥。这在例如与 C# 应用程序共享加密数据时可能很有用。
      • formatter : 字符串,可选。要与此加密器一起使用的 格式化器 的服务名称。您可以创建自己的格式化器,它必须实现 FormatterInterface
      • disable_auto_iv_update : 布尔值,可选。如果要将它设置为 true 以禁用加密器在每次加密之前的自动 IV 生成,则设置此选项。默认情况下启用自动 IV 更新。
    • second_encryptor : 这里还有一个其他加密器 ... :)

格式化器

此扩展包将库的 格式化器 包装成服务,您可以在配置加密器时使用这些服务

注意:如果您使用Symfony >= 4.0,这些服务将被声明为私有

信息

关于

许可证

此软件包采用MIT许可证。更多信息请参阅LICENSE文件。

问题 / 功能请求

请使用此GitHub仓库页面来报告问题以及提问/建议功能。

变更

有关更多详细信息,请参阅变更日志