In laravel for registration I'm using encrypt algorithm for password instead of inbuilt bcrypt function in Laravel because to get password and send it to mail when password is forgot.

But decrypt it is showing a error like

DecryptException The MAC is invalid in Encrypter.php (line 184)

这个,当我运行这个代码时,它在本地服务器上工作,但在下面它不工作.我已经提到了代码,有人能帮忙吗

public function forgotpassword(Request $request)
{
  $email=$request->email;
  $selectemail = User::select('email','password','name')
     ->where('email',$email)
     ->first();     

  if($selectemail)                       
  {                                 
    $password=decrypt($selectemail->password);
    $data = array( 'email' => $selectemail->email,'password' => $password , 'name' => $selectemail->name);

    Mail::send('email.resetpassword',$data,function($message) use ($email)
    {
      $message->to([$email])->subject('Forgot Password Letgo');
    });
      echo "Mail has sent successfully";
  } else {
    echo "This email is not yet registered";
  }             
}   

推荐答案

问题是您生成了一个新的APP_KEY,如果您try 解密旧的加密数据,它将显示DecryptException: The MAC is invalid.

如果要解密旧数据,则需要恢复旧的APP_KEY.

After realizing that, now, adding a new problem there, if you stored new data with another APP_KEY or another encryption method you have a problem on the data because they are mixed on the table.

如果你不知道什么时候开始使用新的加密方法或区分新的加密条目,最快的解决方案是用新的加密方法重置所有密码.

You can learn more about how Laravel encryption works on the official Laravel docs.

Laravel相关问答推荐

Laravel中的策略对我不起作用,这是我的代码

Laravel 10 - 没有 $append 属性的Eloquent 的热切加载

Laravel 数据未传递到下拉框

Npm run dev 卡在 APP_URL

在 Laravel 包中的路由上使用显式或隐式模型绑定

如何在 laravel livewire 中按 bool 值排序数组

如何将用户对象绑定到中间件中的请求

Laravel created_at 返回对象代替数据库中的日期格式?

在 laravel 4.2 中,用户 'root'@'localhost' 的 Laravel 访问被拒绝(使用密码:YES)

覆盖 HTTP 标头的默认设置 (X-FRAME-OPTIONS)

如何在 laravel 5.2 中显示 500 内部服务器错误页面?

克隆后设置 Laravel 项目

从 Laravel Cashier 获取下一个账单日期

使用数据库中的值进行动态邮件配置 [Laravel]

如何更改 Handlebars.js 的默认分隔符?

如何利用 StorageFacade 的 Filesystem 类的 glob 方法?

Laravel/Lumen 中两列之间的 SQL

Laravel 单元测试依赖注入

复合唯一密钥验证 - laravel

如何在 Laravel 5 中验证 RESTful API?