2并尝试在Heroku中构建我的应用程序,但我遇到了APP_KEY的问题
php artisan key:generate
问题是它总是生成长度超过32个字符的键,例如zrkythusOVoNBAnqrjGaL9RxX2VUOTwK3y5q4Sbaf5s=
所以我尝试将狙击手改为AES-128-CBC,它只生成24个字符,而不是16个不是32个
我尝试使用生成的密钥推送它,它会让我RuntimeException in /app/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php line 45:
和No supported encrypter found. The cipher and / or key length are invalid.
这是我的app config
'key' => env('APP_KEY', 'base64:zrkythusOVoNBAnqrjGaL9RxX2VUOTwK3y5q4Sbaf5s='),
'cipher' => 'AES-256-CBC'
尝试替代
'key' => 'base64:zrkythusOVoNBAnqrjGaL9RxX2VUOTwK3y5q4Sbaf5s=',
'cipher' => 'AES-256-CBC',
结果相同
我错过了什么吗?
答案 0 :(得分:0)
当您运行php artisan key:generate
时,它会使用新的.env
更新APP_KEY
文件。您.env
文件中的任何密钥都可能会覆盖您使用app.php
配置设置的密钥。
如果密钥是base64编码的,就像你的例子一样,它允许超过32个字符。如果解码密钥,则应为< = 32个字符。