【发布时间】:2017-08-19 06:35:45
【问题描述】:
我正在使用 Laravel 5.4。我知道散列是一种方式。我记得,我对密码进行了哈希处理并将它们保存在数据库中,当我想检查用户密码时,我会对他们输入的密码进行哈希处理,并使用数据库上的哈希字符串进行检查。
在 laravel 中我只需要编写以下代码:
$email = $request['email'];
$pass = $request['password'];
if(Auth::attempt(['email'=> $email , 'password' => $pass])){
//return something
}
不用bcrypt($request['password']);。
尽管每次我必须使用 bcrypt 时,哈希字符串都会有所不同。
Auth::attempt 如何使用bcrypt 哈希密码来检查密码。
我需要解释一下Auth::attempt 在使用bcrypt 时的工作原理。我知道如何实现代码和检查密码。
【问题讨论】:
-
使用 bcrypt 不是检查确切的字符串,而是检查无法在质询中解密的格式
-
前。如果它给出相同的字符串,我们可以猜出其他人的密码
-
他们已经内置了
Auth::attempt函数!所以只需检查该功能 -
您尝试收集哪些信息? Laravel 是开源的,为什么不查看源代码以获取更多详细信息?
-
已找到答案。我只是在编辑我的问题:)
标签: php authentication laravel-5 hash bcrypt