У меня есть профиль, для которого пользователь может редактировать собственные профили. в этой форме у меня есть текущий пароль. который должен соответствовать совпадению с базами данных.
Форма:
{{ Form::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
пароль в базу данных – это нормально, и после ввода 123456
в currPassword
которое должно быть возвращено TRUE
но которое возвращает FALSE
allwayes.
Вы используете неправильный порядок аргументов. Это Hash::check($input, $hash)
, а не наоборот.
Пример короткого примера:
[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