【发布时间】:2013-08-21 00:55:14
【问题描述】:
我正在为现有数据库制作 API。当我看到 Auth::attempt 总是返回 false 时,我首先注意到了这个问题。由于我已经实现了自己的 SHA1 哈希提供程序,我认为这可能是问题所在。
但我尝试了 Hash::make('test'),它给了我 'a94a8fe5ccb19ba61c4c0873d391e987982fbbd3'。然后我尝试了 Hash::make($client->pwd) 它给了我相同的哈希值。到目前为止正确。最后我做到了
if (Hash::check('test', $cli->pwd))
{
[...]
}
它返回错误。从外观上看,问题不是我的哈希提供者,我想这也是 Auth::attempt 失败的原因。谁能告诉我为什么?
【问题讨论】:
-
Auth::attempt() 将对密码本身进行哈希处理,因此它可能会重新哈希您的“哈希”密码
-
您是否将自定义哈希提供程序集成到 Auth 中?因为该哈希看起来不像 BCrypt 哈希。
-
糟糕,我的错误。我将其更改为 if (Hash::check('test', $cli->pwd))。仍然返回错误。是的,我认为我的集成是正确的,它是 SHA1,因为我的数据库密码不是 bcrypt 哈希。