Ya sabemos que el archivo .env en Laravel es el encargado de guardar las variables de entorno, datos sensibles como credenciales de proveedores de pagos, redes sociales, bases de datos y mucho más. Por este motivo, nunca es buena idea publicar el archivo .env en nuestros repositorios, en su lugar, guardamos un archivo .env.example que contiene una copia exacta de nuestro archivo .env, pero sin sus valores.
A partir de Laravel v9.32.0 tenemos a nuestra disposición dos comandos nuevos a través de artisan que nos permiten encriptar y desencriptar archivos .env:
env
env:decrypt Decrypt an environment file
env:encrypt Encrypt an environment fileEncriptar .env en Laravel
Para encriptar nuestro archivo .env en Laravel simplemente debemos ejecutar el siguiente comando en nuestro proyecto:
❯ php artisan env:encrypt
INFO Environment successfully encrypted.
Key ......................................................... base64:WTlhD9vdjsa124xGFzxbais4y3GKYqyl5Nh8F/Jqn+Nw=
Cipher ...................................................... AES-256-CBC
Encrypted file .............................................. .env.encrypted Como puedes ver, el comando php artisan env:encrypt habrá creado un nuevo archivo .env.encrypted, el cual si lo abrimos tendrá la siguiente apareciencia:
eyJpdiI6IkVrM2xvbE9UZUVSY0kzc3phaFdRRmc9PSIsInZhbHVlIjoiV0FndlNoZHZyZnU1ZDh3emZDU3ZVWjYwazBzaGFvSUY5RnQyNkJHVklpYlhZWnJrZGpyMm9LRHQzekZjR25xbjdneWRXUDVpNkQ5ZVFGOGtXTERtMVQ3K1JsRSt4MlF4bUhMcWZqQW9zSk02Nk52N3pLdVpSTmtRSjhVemNTQzdPZTBDUVZiak9JajY0VzR6ekZSbkJWRmZCcEhsVFVTaXZnRFA3bTlxVjZVSnZzZmRUV3hNckFtUGc4dkRhOEdBcWRSbzkvSDlmeENPaUpyMWlqM0JCV2p2MnMwVmt4VTVENWVya3JVZ3laQklIdE1hWkxxK29PU09IWnJNWjdUTGVCRFlxRkdqN0tTeHJEdURQeHpMeHNxVzJLd1ZQNjZkSG03V0s4aXVyQkMyYnBCUGQ0VU5OWkxNaWw2NElKMHp6MUxNQjRqaExNRXVlblY2Mk9FZmx2K0Yrd1VyaXpxT2pTUFhUcGVVVnZuZ2VoaEM5WlNrYXNKR015T0RaSlcwV0haS1lUa05qOGp3UjR3ckpjZWxMNWdWUDhWRmx0aG9STStlZmNYRG1INHFFdU13dDFWazJHa1VVK2UxeC9idnRXampNUGp5cktMOGxxSkljNG5uSjYxQ0pDQUVtRnZHWnMvZVEzTmVjOWxMejl5cjFyM1FsNUFNc0wyaHdxVXl5bGRSNHc0OXg2QXliSnNmbEdWZVY2SHcwT21hUkNBMElaVzNENGZKdUp5UzFwUVZKZXVFSHpUUUw1dW91emNzam1xajlJaVJOY3VwTC8zM1ZDSVdOR3dZS1pBNXpJOGFnQnZNVmlBeWFpM1JmZmtzc2FtbVpKdUtYZVJuankwRVU0LzFEM2RBM2pCdXBJMzd4cFp0ZkswQkhSTmUzSkZGTkNUTnYxVHp6REREdzBFcXJxWmZFQWc0ZStDa1FaOGhHSXZxNnpSODE2cEFiK3ArNHdJbmIwa2MyUTJOSlA3bVlEemJWMTQzMDlRVitHYU9TaWdwUXJaaUJLSGJkRGZnTzNxcmVzYmI0ZnpISTRvMVFYWStpWTRoampUckEvL1NpRHdHT0o2TVZTeVZpcFo1WXNmTVJ0bjBqU1htRUlLSzNYMGFmTDlySWllMm1DVDIxWlpWdHJuNWRvbkozN1ZrajY5UGR1V2Z4U1NQYnZETGdoMDJFc1gwMVR0MTVtMllXUWhGQklzVm00c0xSMjhJcUZIU2dKVnEwaE1uUEdtYlh6SGxrclZMeS9WRUFLcHgyRHFaVlpBRDBYNjhzVk9Xc25EMXdobHhLRUh0cHBxbkZpU1gyeitDWHpaOWw4WU55czUxa2NMaEE3WUNCRUVLeklTSWRxQ1NOekh1MGlkeDJWSmJLNitFYitSRml0TVc0SWg5dVFJTHdJOWNoRHVqNzlEQlJ3bk9mWG5wcE1jd1R3RVZpMy9wNDU5Vm9zYm9IZzhzazNWOElra0FFeUdCNUJYWXBIdm9ITWRyN2k4QktIdTBOQUhVVWZ4akdNSitlMjBGK2JSb0FlMEdobWZMZXYxcUlaMjZySG5qWlBaeEdlWGIvb1d6WjlpclI2b2x6cy9kUk5Pd1ovQjdhQkdxQmhCWUtaZFpVdWNDYkxoMEZyNmh0R0tXNTBXYmw2Y2dmdGgyUzBjMVBoVlVMWUxtOVlYREFidzZ1YWhmQXo1NTJjS2I5RG56UUZZeG1yNFp1VTBGdi9vdnZRajArV2o1WXJLLzFuM1lOeTZWOWNMNTFpbktFTEpkMlhLU2RaTzZkUHd2czV1azN3Z2lwWmQ1dUZ4OHllWk1XVzBrNVZKdmowR0FPQ0VYL203YVpFU2Q4dkJLVzdIVi8vM3J0WnpKUlpDQ1BKWWNUaE82ZWtYdGlpRE01M2tHVStFOUQ5V2EwZWpjdExLK1AzQnBETkp5TEpZbVBIeTFZajk4Vldxd1FJSW00WDhyeUhhbWttM3RXQTV0cVBvUXkvdm9yNk55cHFtM0ppNlhKT3NtQysxNFdwRm5ud2IrMVpSTjNDUnFXTGJkYTJLSHZaMkpLUWdEZW9vMjN6TVYyVEVseFpXVnh0ZkdzQT09IiwibWFjIjoiNjNkMjMzOTkyNTJiODcyZTU4MDUwNzAyM2YzMGM1YmQxNTIwZjQ0OTQyNzI5YmY4YmEyMmU0ZDNkYzE5MzI2ZiIsInRhZyI6IiJ9Como puedes ver, el archivo ha quedado encriptado de forma completa.
Desencriptar .env en Laravel
Al igual que hemos podido encriptar nuestro archivo .env, podemos desencriptar el archivo .env.encrypted, para ello, debemos hacer uso del siguiente comando utilizando la clave que nos ha ofrecido el comando encrypt:
❯ php artisan env:decrypt --key="base64:WTlhD9vdjsa124xGFzxbais4y3GKYqyl5Nh8F/Jqn+Nw="
INFO Environment successfully decrypted.
Decrypted file ........................................................ .envAl momento de desencriptar el archivo .env.encrypted, es importante que el archivo .env no exista en nuestro proyecto ya que lo que hará este comando será generar de nuevo nuestro archivo .env con los valores que contenía cuando fue encriptado.
¿Por qué encriptar el archivo .env en Laravel?
Un motivo por el que podemos querer encriptar el archivo .env en Laravel es necesitar publicar este archivo en nuestro repositorio para que los nuevos desarrolladores puedan acceder a él y a todos los valores definidos. Con el archivo encriptado en nuestro repositorio y un almacén de claves compartido para poder tener acceso a la clave que encripta el archivo .env, podemos publicar tranquilamente nuestras variables de entorno en nuestros repositorios con todos sus valores, eso sí, encriptados.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción