【问题标题】:DecryptException in BaseEncrypter.php line 48: The MAC is invalid. laravel 5.2BaseEncrypter.php 第 48 行中的 DecryptException:MAC 无效。拉拉维尔 5.2
【发布时间】:2018-04-12 05:45:07
【问题描述】:
我知道这个问题已经被问过了。但他们都没有解决我的问题。
我面临这个问题:BaseEncrypter.php 第 48 行中的 DecryptException:
MAC 无效。
我检查了我的 .env 文件,APP_DEBUG 和 APP_KEY
中没有空格
尝试生成新密钥,但没有成功。
Laravel 框架版本 5.2.45
【问题讨论】:
标签:
php
encryption
laravel-5.2
【解决方案1】:
浏览了大约两个小时后,尝试了很多不同来源的解决方案,但都没有解决我的问题。
-
.env 文件在 APP_DEBUG 和 APP_KEY 键中可能有空间。
如果存在则删除空格可以解决问题。
通过清除缓存,在某些情况下还可以使用composer dump-autoload。
-
但就我而言,问题是
BaseEncrypter.php 第 48 行中的 DecryptException:MAC 无效
或
BaseEncrypter.php 第 45 行中的 DecryptException:有效负载无效
问题是由于数据库列问题。
列类型为varchar,长度为256,这导致了整个问题。由于字段mwsAuthToken 的长度比归档256 的长度长,并且正在截断mwsAuthToken 键值。
因此,通过将字段类型更改为 text 解决了我的问题。