nmure / encryptor-bundle
nmure/encryptor 库的 Symfony 扩展包
v2.0.0
2017-12-02 19:38 UTC
Requires
- php: >=7.1
- nmure/encryptor: ~1.0.0
- symfony/framework-bundle: ~4.0
This package is not auto-updated.
Last update: 2024-09-19 15:04:07 UTC
README
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
: 这里还有一个其他加密器 ... :)
格式化器
此扩展包将库的 格式化器 包装成服务,您可以在配置加密器时使用这些服务
Base64Formatter
=>nmure_encryptor.formatters.base64_formatter
HexFormatter
=>nmure_encryptor.formatters.hex_formatter
注意:如果您使用Symfony >= 4.0,这些服务将被声明为私有
。
信息
关于
许可证
此软件包采用MIT许可证。更多信息请参阅LICENSE文件。
问题 / 功能请求
请使用此GitHub仓库页面来报告问题以及提问/建议功能。
变更
有关更多详细信息,请参阅变更日志。