doctrineencryptbundle / doctrine-encrypt-bundle
Encrypted symfony entity's by verified and standardized libraries
Installs: 128 189
Dependents: 0
Suggesters: 0
Security: 0
Stars: 18
Watchers: 4
Forks: 227
Open Issues: 8
Requires
- php: ^7.2|^8.0
- composer-runtime-api: ^2.0
- composer/semver: ^3.0
- doctrine/annotations: ^1.13|^2.0
- doctrine/common: ^3.4
- doctrine/doctrine-bundle: ^2.0.8|^2.1
- doctrine/orm: ^2.5|^3.3
- 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
- friendsofphp/php-cs-fixer: 3.64.0
- 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
Introduction
This version of the DoctrineEncryptBundle was initially forked from: integr8rs/DoctrineEncryptBundle
This version was created due to be maintained and managed by a GitHub organization (DoctrineEncryptBundle) due to all previous versions that were installable not being actively maintained any longer. This includes the most popular on as well: michaeldegroot/doctrine-encrypt-bundle
The original bundle created by ambta can be found here: -ambta/DoctrineEncryptBundle
This bundle has updated security by not rolling its own encryption and using verified standardized library's from the field.
Using Halite
All deps are already installed with this package
// Config.yml ambta_doctrine_encrypt: encryptor_class: Halite
Using Defuse
You will need to require Defuse yourself
composer require "defuse/php-encryption ^2.0"
// Config.yml ambta_doctrine_encrypt: encryptor_class: Defuse
Secret key
The secret key should be a max 32 byte hexadecimal string ([0-9a-fA-F]
).
Secret key is generated if there is no key found. This is automatically generated and stored in the folder defined in the configuration
// Config.yml ambta_doctrine_encrypt: secret_directory_path: '%kernel.project_dir%' # Default value
Filename example: .DefuseEncryptor.key
or .HaliteEncryptor.key
Do not forget to add these files to your .gitignore file, you do not want this on your repository!
Documentation
Demo
Two demo-installations, one using symfony 4.4 and one using symfony 6.x, can be found in this repository in demo
. This demonstrates how to use
the application using both annotations and, when using php > 8.0, attributes.