【问题标题】:Laravel 5.7, How to decrypt or view Hash Password in Laravel?Laravel 5.7,如何在 Laravel 中解密或查看哈希密码?
【发布时间】:2021-03-14 19:50:02
【问题描述】:

我在 laravel 5.7 中存储了我的密码哈希方法

'password' => Hash::make($request->newPassword)

我需要查看原始密码,请问您可以帮助任何人吗?

【问题讨论】:

  • 散列是一种单向操作。理论上,您无法通过逆向工程来查看密码。但是,通过彩虹表之类的技术,您可能有一点机会查到密码。
  • 不能这样,只能检查密码是否匹配。为什么需要查看密码?
  • @SudhansuBhatta 我需要在管理员确认后向用户发送密码。

标签: laravel laravel-5.7


【解决方案1】:

不,您不能解密散列密码。您只能尝试蛮力检查。

您可以通过使用检查密码是否与哈希匹配

Hash::check('plain-text', $hashedPassword);

如果密码匹配,此函数将返回 true,否则返回 false。您可以从laravel docs 获取有关散列的更多信息

永远不应该需要查看您的密码,因为那将是一个很大的缺陷。许多用户在多个站点上使用相同的密码,因此能够查看密码将是一个巨大的安全风险。如果有人未经授权访问您的数据库,那么想象一下,如果他们可以看到密码,那么如果使用相同的密码,多个站点上的帐户可能会受到威胁。

如果您忘记密码,请重置密码。没有造成伤害。

【讨论】:

    【解决方案2】:

    在 Laravel 中,一旦 Password 是 hash 并且看不到,它只会使用 Hash Check 来检查给定的密码是对还是错

    $user=User::find(Auth::user()->id);
    
    if(Hash::check('secret', $user->password)){
      //if it is true, the condition is passed
     }
    

    您必须在控制器中导入 User、Auth、Hash

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 2015-04-05
      相关资源
      最近更新 更多