密钥生成找不到支持的加密器。密码和/或密钥长度无效

时间:2018-01-09 06:47:44

标签: laravel heroku laravel-5.2

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',

结果相同

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

当您运行php artisan key:generate时,它会使用新的.env更新APP_KEY文件。您.env文件中的任何密钥都可能会覆盖您使用app.php配置设置的密钥。

如果密钥是base64编码的,就像你的例子一样,它允许超过32个字符。如果解码密钥,则应为< = 32个字符。