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.

表格:

{{ 表格::password('currPassword', array('id'=>'currPassword')) }}

我想在控制器中使用这个函数来判断数据库.

$data = User::find($id);
if( ! Hash::check( $data->password , Input::get('currPassword') ) )
{
    return Redirect::to('/admin/profile')
        ->with('message', 'Current Password Error !')
        ->withInput();
}

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)美元,而不是反过来.

Short tinker example:

[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相关问答推荐

未将Laravel Blade属性传递给组件或类

如何计算具有特定 ID Laravel 的行

如何在 Laravel 的外部 js 文件中包含 csrf_token()?

如何判断用户Electron邮件是否已存在

Laravel:使用 Input::old 时 textarea 不会重新填充

Laravel transformer vs resource

Laravel 中的合同和 PHP 中的接口有什么区别?

Laravel lockforupdate(悲观锁)

如果值存在于另一个字段数组中,Laravel 验证规则

扩展模型 == 扩展 Eloquent?

laravel 5.1 在没有 VM 重启的情况下看不到作业(job)文件的更改

将 Laravel 集合附加到另一个集合

调用未定义的方法 Illuminate\Routing\Route::get()

Laravel 存储链接不适用于生产

Blade 中的条件扩展

使用 Laravel 使用 2 个磁盘复制文件

Select,where JSON 包含数组

找不到框laravel/homestead

使用迁移更改表 Laravel 5

如何在 laravel 表单验证错误消息中给出自定义字段名称