doctrineencryptbundle / doctrine-encrypt-bundle
通过验证和标准库加密的 symfony 实体
5.4.0
2024-03-02 18:14 UTC
Requires
- php: ^7.2|^8.0
- doctrine/annotations: ^1.13|^2.0
- doctrine/doctrine-bundle: ^2.0.8|^2.1
- doctrine/orm: ^2.5
- paragonie/halite: ^4.6|^5.0
- symfony/config: ^5.4|^6.0|^7.0
- symfony/dependency-injection: ^5.4|^6.0|^7.0
- symfony/expression-language: ^5.4|^6.0|^7.0
- symfony/http-kernel: ^5.4|^6.0|^7.0
- symfony/property-access: ^5.4|^6.0|^7.0
- symfony/yaml: ^5.4|^6.0|^7.0
Requires (Dev)
- defuse/php-encryption: ^2.1
- doctrine/cache: ^1.11
- jetbrains/phpstorm-attributes: ^1.0
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.4
- symfony/phpunit-bridge: ^7.0
Suggests
- ext-sodium: Required to use halite encryption library.
- defuse/php-encryption: Alternative for halite for use with older php-versions
- paragonie/sodium_compat: Alternative for ext-sodium for use with older php-versions
README
简介
DoctrineEncryptBundle 的这个版本最初是从以下地址分叉的: integr8rs/DoctrineEncryptBundle
由于所有可安装的先前版本都已不再积极维护,因此创建了此版本,以由 GitHub 组织(DoctrineEncryptBundle)维护和管理。这包括最受欢迎的版本: michaeldegroot/doctrine-encrypt-bundle
ambta 创建的原始包可以在以下位置找到: -ambta/DoctrineEncryptBundle
此包通过不自己实现加密,而是使用来自该领域的经过验证的标准库来更新安全性。
使用 Halite
所有依赖项已随此包安装
// Config.yml ambta_doctrine_encrypt: encryptor_class: Halite
使用 Defuse
您需要自己安装 Defuse
composer require "defuse/php-encryption ^2.0"
// Config.yml ambta_doctrine_encrypt: encryptor_class: Defuse
密钥
密钥应是一个最多 32 字节的十六进制字符串([0-9a-fA-F]
)。
如果没有找到密钥,将生成密钥。这将在配置中定义的文件夹中自动生成和存储
// Config.yml ambta_doctrine_encrypt: secret_directory_path: '%kernel.project_dir%' # Default value
文件名示例: .DefuseEncryptor.key
或 .HaliteEncryptor.key
请勿忘记将这些文件添加到您的 .gitignore 文件中,您不希望这些文件在您的存储库中!
文档
示例
在仓库中可以找到两个示例安装,一个使用 symfony 4.4,另一个使用 symfony 6.x,在 demo
目录中。这演示了如何使用应用程序,包括使用注解以及当使用 php > 8.0 时使用属性。