当我尝试通过Laravel 5.5中的哈希::检查验证帖子密码时,我遇到了问题
我用密码列制作了一个帖子表(在本例中为sales表)。当我尝试创建帖子时,它工作正常,密码是哈希值,也属于登录用户。然后在当前帖子页面上是一个带有输入(密码)的按钮,用于删除该特定帖子,但条件始终为假。
我的控制器公共功能销毁(请求$ request,$ id)
$input_pass = request('input_password');
$sale = Sale::find($id);
$hashed = $sale->password;
// Check if sale password is correct
if (Hash::check($input_pass, $sale->password)) {
$sale->delete();
} else {
// something else to do
}
对于邮政商店,我使用bcrypt方法来哈希密码。我也尝试过dd(' sale->密码'),它指的是销售表中的列(正确)和dd(' $ input_pass'),它指的是以DELETE格式输入密码(也是正确的) - 所以我有点困惑,为什么通行证不匹配。
答案 0 :(得分:3)
从您的评论中我发现您有一个逻辑错误,您最初将密码哈希并将其保存在数据库中。
您正在将字符串password
传递给bcrypt
,其实际应该是request('password')
更改
'password' => bcrypt('password'),
到
'password' => bcrypt(request('password')),