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


    在 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 复制到当前项目

    赞赏码

    非学,无以致疑;非问,无以广识

  • 相关阅读:
    Middleware
    Languages
    Errors
    Config
    CLI Console
    Linux远程复制文件
    CentOS下安装Gitlab
    Maven_POM配置结构
    Maven_POM配置详解
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452704.html
Copyright © 2020-2023  润新知