mac是无效的laravel

时间:2018-02-05 16:48:05

标签: php laravel

我参与了一个新的laravel项目并尝试运行单元测试(传递给我朋友的项目),我得到了一些失败。我查看了laravel.log并多次看到这个:

  

testing.ERROR:Illuminate \ Contracts \ Encryption \ DecryptException:MAC无效。在/mnt/c/xampp/htdocs/erx/vendor/laravel/framework/src/Illuminate/Encryption/BaseEncrypter.php:48

我尝试清除缓存,并运行:
php artisan key:generate
但这并没有消除这个问题。还有什么我应该尝试的吗?

3 个答案:

答案 0 :(得分:0)

您的APP_KEY可能与本地/远程不同。 Crypt::decryptString然后抛出MAC is invalid错误。

当你在浏览器中清理缓存和cookie时,你应该能够摆脱这种情况。

还要确保按键相同。

答案 1 :(得分:0)

当您在开发机器上设置新实例并使用一个APP_KEY打开浏览器,然后重新生成它并尝试刷新页面时,可能会发生这种情况。

如果是这种情况:请尝试在浏览器中清除cookie。它将擦除会话,并使用新创建的密钥自动创建一个新会话。

答案 2 :(得分:-1)

如果您有一个由 Crypt::encryptString($plain_text) 加密的数据 然后你格式化你的电脑 您必须通过此方法从数据库中删除所有散列字段, 然后再次散列它。 这为我解决了问题, 我的意思是问题是,如果你有一个用这种方法散列的字段,你必须删除它散列,因为它从计算机到另一台不同