Laravel Hash::check() always return false(Laravel Hash::check() 总是返回 false)
问题描述
我有个人资料表格供用户编辑自己的个人资料.在这种形式中,我有当前密码.必须从 seved 匹配到数据库中.
I have profile form for user can edit own profiles. in this form I have current password. that must be match from seved into database.
表格:
{{ Form::password('currPassword', array('id'=>'currPassword')) }}
我想在 Controller 中有这个功能来检查数据库.
i want to have this function in Controller to check this with database.
$data = User::find($id);
if( ! Hash::check( $data->password , Input::get('currPassword') ) )
{
return Redirect::to('/admin/profile')
->with('message', 'Current Password Error !')
->withInput();
}
散列 123456
密码进入数据库是可以的,并且在将 123456
放入 currPassword
后必须返回 TRUE
但是总是返回 FALSE
.
hashed 123456
password into database is ok and after putting 123456
in currPassword
that must be return TRUE
but that return FALSE
always.
推荐答案
你使用了错误的参数顺序.它是 Hash::check($input, $hash)
,而不是相反.
You're using the wrong argument order. It's Hash::check($input, $hash)
, not the other way around.
简短的修补程序示例:
[1] > $pw = 123456;
// 123456
[2] > $hashed = Hash::make($pw);
// '$2y$10$xSugoyKv765TY8DsERJ2/.mPIOwLNdM5Iw1n3x1XNVymBlHNG4cX6'
[3] > Hash::check($hashed, $pw);
// false
[4] > Hash::check($pw, $hashed);
// true
这篇关于Laravel Hash::check() 总是返回 false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel Hash::check() 总是返回 false
基础教程推荐
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01