Los únicos sistemas de cifrado admitidos son AES-128-CBC y AES-256-CBC con las longitudes de clave correctas. laravel 5.3

Instalé una nueva copia nueva de laravel 5.3 usando compositor pero sigo recibiendo este error:

Los únicos sistemas de cifrado admitidos son AES-128-CBC y AES-256-CBC con las longitudes de clave correctas. Aunque mi archivo app.php en el directorio config especifica
‘cifrado’ => ‘AES-128-CBC’,

Necesitas tener .env en tu carpeta de aplicaciones y luego ejecutar:

$ php artisan key:generate 

Si no tiene .env copia de .env.example :

 $ cp .env.example .env 

Ejecute estos comandos en su terminal:

configuración de php artesanal: claro
entonces
php artesanal config: caché

Si está ejecutando un proyecto Laravel por primera vez en esa máquina, asegúrese de tener los requisitos necesarios. Abra su CMD / Terminal en su directorio de proyecto o

 cd to/your/project/dir 

Dale este comando nuevamente:

 composer update 

Cambie su .env.example a .env y realice los cambios necesarios en ese archivo, especialmente las configuraciones de la base de datos para evitar el error de db. Entonces

 php artisan key:generate 

Esto resuelve este problema de longitud de clave de cifrado AES cada vez que creo un proyecto de Laravel o lo clono de git.

Ok, esto ya ha sido respondido básicamente, pero encontré un par de advertencias que habían sido consternadas, o estreñidas, una de esas dos …

En primer lugar, como ya se ha dicho, debe asegurarse de tener un archivo .env válido que puede realizar en el terminal copiando el archivo .env.example existente como tal:

$ cp .env.example .env

Luego, genera tu clave de aplicación

$ php artisan key:generate

Una vez hecho esto, asegúrese de abrir su archivo .env y asegúrese de que la línea APP_KEY se vea correcta; aquí es de donde proviene mi consternación:

APP_KEY=base64:MsUJo+qAhIVGPx52r1mbxCYn5YbWtCx8FQ7pTaHEvRo=base64:Ign7MpdXw4FMI5ai7SXXiU2vbraqhyEK1NniKPNJKGY=

Notará que la longitud de la clave es incorrecta, por alguna razón desconocida (probablemente desde la ejecución de la clave: generar varias veces) tiene dos teclas base64= allí. Eliminar uno es la solución a los problemas que estaba teniendo y esto parece ser un error Artisan / Laravel.

Espero que esta respuesta ayude a cualquiera que pueda estar luchando con los mismos problemas o errores molestos.

Sigue estos pasos:

Paso 1: asegúrese de tener el archivo .env en su aplicación. Si no ejecuta este comando cp .env.example .env

Paso 2: Ahora ejecuta el siguiente comando ( php artisan key:generate ) para generar una clave y se guardará automáticamente en el archivo .env.

Paso 3: Ejecuta la php artisan config:cache

Arreglará todo.

Ejecute la php artisan key:generate .

Hacer php artisan config:clear ,

Entonces php artisan config:cache

¡Y las cosas comenzarán a funcionar!

en el archivo .env dar esta clave y ya está hecho

 APP_KEY=ABCDEF123ERD456EABCDEF123ERD456E 

¿Sigue sin funcionar?

Si está trabajando desde cli, reinicie el servidor y lo hará.

¿Quieres una explicación?

ok, como dice el mensaje de error:

Los únicos sistemas de cifrado admitidos son AES-128-CBC y AES-256-CBC con las longitudes de clave correctas.

La longitud de la clave para AES-128-CBC es de 16 caracteres, por ejemplo, ABCDEF123ERD456E

La longitud de la clave para AES-256-CBC es de 32 caracteres, por ejemplo, ABCDEF123ERD456EABCDEF123ERD456E

Asegúrese de que en config/app.php el cipher esté configurado con el cifrado adecuado, como los dos anteriores, y que la tecla apunte a la variable .env archivo APP_KEY . Mi aplicación tiene el conjunto de cifrado AES-256-CBC , así que le di la clave de 32 caracteres como APP_KEY=ABCDEF123ERD456EABCDEF123ERD456E y todo funcionó bien después de eso.

Otra cosa que debes comprobar es que tu archivo .env está en el grupo www-data (o httpd o cualquiera que sea tu grupo de servidores web) y que el grupo tiene permiso de lectura.

En Linux, mis permisos se veían así cuando recibí este error: -rw-rw-r-- 1 kevin kevin 618 Mar 16 09:32 .env A continuación, -rw-rw-r-- 1 kevin kevin 618 Mar 16 09:32 .env permiso de lectura para todos y -rw-rw-r-- 1 kevin kevin 618 Mar 16 09:32 .env permiso de escritura para el grupo. chmod 640 .env Luego cambié el grupo a www-data chown kevin:www-data .env Mis permisos ahora se ven así: -rw-r----- 1 kevin www-data 516 Mar 16 09:35 .env

Si el comando artesanal no funciona y obtienes el mismo error en la línea de comandos, eso significa que el compositor no hizo un buen trabajo al obtener todos los archivos, debes eliminar la carpeta del proveedor y ejecutar nuevamente la composer update .

Si acaba de crear un proyecto laravel con un comando como composer create-project --prefer-dist laravel/laravel market y despliega el nuevo repository en la ruta de la aplicación con el comando cp, puede obtener este problema.

Yo uso laravel 5.4

 roofe@www:~/market$ php artisan --version Laravel Framework 5.4.33 

Cuando crea el proyecto laravel, puede ver los registros que crean la clave de esta manera:

Generando archivos de autocarga

Illuminate \ Foundation \ ComposerScripts :: postUpdate php artisan optimize Generación de cargador de clases optimizado Se ha eliminado el archivo de servicios comstackdos. php artesanal key: genera la clave de la aplicación [base64: exxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / k =] establecida con éxito.

Por defecto, la configuración de la clave en config / app.php es la siguiente, utiliza AES-256-CBC y la clave generada cuando se crea el proyecto en el archivo .env . Si usa un comando como cp -r ./* /var/www/market/ el archivo .env no se moverá a la ruta de la aplicación.

 /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | | This key is used by the Illuminate encrypter service and should be set | to a random, 32 character string, otherwise these encrypted strings | will not be safe. Please do this before deploying an application! | */ 'key' => env('APP_KEY'), 'cipher' => 'AES-256-CBC', 

Cuando cambio mi comando deploy a cp -r ./* ./.env /var/www/market/ , este problema ya cp -r ./* ./.env /var/www/market/ .

También puede referirse a este problema github.