Download the PHP package iserranodev/encrypt-bundle without Composer
On this page you can find all versions of the php package iserranodev/encrypt-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download iserranodev/encrypt-bundle
More information about iserranodev/encrypt-bundle
Files in iserranodev/encrypt-bundle
Package encrypt-bundle
Short Description A Symfony bundle for encrypting entity properties in Database
License MIT
Informations about the package encrypt-bundle
Encrypt Bundle
Este bundle proporciona funcionalidad de encriptación para entidades de Doctrine en aplicaciones Symfony.
Instalación
-
Instala el bundle usando Composer:
- Habilita el bundle en
config/bundles.php:
Configuración
Variables de Entorno
El bundle utiliza las siguientes variables que puedes configurar en tu archivo .env:
Configuración del Bundle
Puedes personalizar la configuración en config/packages/i_serrano_dev_encrypt.yaml:
Uso
-
Genera la clave de encriptación (esto creará el archivo en la ruta configurada):
-
Usa el atributo
#[Encrypted]en las propiedades que desees encriptar: -
Usa el atributo
#[Hashed]en las propiedades que desees hashear y poder buscar en base de datos: - El bundle automáticamente:
- Encriptará o aplicará un hash los datos antes de guardarlos en la base de datos
- Desencriptará los datos cuando los recuperes
- Manejará las migraciones de Doctrine correctamente
Uso de EncryptService
Puedes usar dicho servicio para encriptar o hashear diferentes textos. El atributo Encrypted usa los métodos hashData y unHashData para poder buscar en base de datos, pero si fuese necesario, también existe el método encryptData y decryptData, el cual no es recomendable para el uso de campos que se pretenden buscar.
En caso de usar los métodos de encrypt, consultar la librería https://github.com/paragonie/halite, ya que el cifrado de los datos con estos métodos están desarrollados mediante dicha librería.
Ubicación de la Clave de Encriptación
Por defecto, el archivo de clave se guarda en:
Puedes cambiar esta ubicación en la configuración del bundle.
Seguridad
- No subas el archivo de clave (
encryption.key) a tu repositorio - Asegúrate de incluir
encryption/en tu.gitignore - Mantén una copia segura de tu clave de encriptación
- Considera usar variables de entorno en producción
Soporte para Migraciones
El bundle incluye soporte para migraciones de Doctrine. Para usarlo en tus migraciones:
All versions of encrypt-bundle with dependencies
symfony/framework-bundle Version ^6.0|^7.0
beberlei/doctrineextensions Version ^1.4
doctrine/doctrine-bundle Version ^2.10
doctrine/doctrine-migrations-bundle Version ^3.2
doctrine/orm Version ^2.16|^3.0
paragonie/halite Version ^5.0
symfony/console Version ^6.0|^7.0
symfony/filesystem Version ^6.0|^7.0
ext-mbstring Version *