laravel项目报错DecryptException:The MAC is invalid.

举报
lxw1844912514 发表于 2022/03/26 23:35:54 2022/03/26
【摘要】 在 Laravel 项目完成部署到服务器、数据库导入成功后 后台登录报错   laravel项目在服务器迁移过程中,从服务器A迁移到服务器B,因 在A使用 php artisan key:generate生成了APP_KEY,用户生成的密码也是利用服务器A的app_key生成的 .在服务器B中 php...

Laravel 项目完成部署到服务器、数据库导入成功后

后台登录报错

 

laravel项目在服务器迁移过程中,从服务器A迁移到服务器B,因 在A使用 php artisan key:generate生成了APP_KEY,用户生成的密码也是利用服务器A的app_key生成的 .在服务器B中 php artisan key:generate生成的新app_key 肯定无法匹配在A中生成的密码;故在密码解码过程中报错The MAC is invalid,

原因是 Laravel 的 APP_KEY 和 encrypt() 函数加密的问题。(encrypt() 是 Laravel 的助手函数,相当于 Crypt::encrypt() 的简写形式)

一旦用 php artisan key:generate 重新生成了APP_KEY,在 desrypt() 函数解密时会报 The MAC is invalid 异常,这是由于 APP_KEY 变化导致 MAC 信息发生了变化,decrypt() 解密就报了异常。

解决方法:

方法1、重新用 encrypt() 进行加密,后台重新登录,OK。

方法2、encrypt() 加密不太利于项目移植和部署,采纳 这篇博文 的建议,暂时使用哈希加密

方法3. 简单直接,直接将项目原来的app_key 复制到当前项目

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/108758368

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。