【问题标题】:lumen hash check return always false流明哈希检查返回总是假
【发布时间】:2019-09-06 05:00:56
【问题描述】:

我正在使用 Lumen 开发我的 API 网站,我遇到了这部分,我在其中哈希密码并检查哈希,但它总是返回 false 下面是我的尝试。

$hashed = $request->input('hash'); // e.g. $2y$10$EBQKLl5cdbOLzP0luWUlp.hQYJLYGnDeOymodXSAbWj.Posf.yv1m
$res = Hash::check(trim($request->input('password')), trim($hashed));

return response()->json([ 'hash' => $hashed, 'password' => $request->input('password')), 'hash_result' => $res ]);

我使用 trim 来确保没有空格,并且我可以验证变量(哈希、密码)是否存在,所以看起来有什么问题?

使用邮递员

非常感谢任何帮助和想法。谢谢。

【问题讨论】:

  • 如果我想在密码中有空格怎么办?但无论如何,也许您可​​以为您的代码提供更多上下文?您是否验证过表单名称字段分别是“hash”和“password”?
  • 是的,我可以通过将其作为响应返回来确认这些变量(密码、哈希)存在并且正确。

标签: php laravel laravel-5.2 lumen lumen-5.3


【解决方案1】:

hash::check() 用于检查纯文本(如密码)与您网站内已生成的哈希女巫。 .env 中有一个名为“APP_KEY”的键,女巫用于创建哈希并检查哈希。

所以您做错的是将密码和哈希密码(女巫不是由您的网站生成)在同一个请求中发送到您的 API。

只需发送密码并对照数据库中的哈希版本进行检查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 2017-04-28
    • 2018-11-12
    • 2013-12-29
    • 2020-08-02
    相关资源
    最近更新 更多