Intereting Posts
Могу ли я изменить цвет фона на основе значения внутри него? Несколько возвратов из функции используя требуемые статусы с операторами if / elseif Передача параметров для zend paginationControl partial Поместите файл на FTP-сайт с содержимым из строковой переменной (без локального файла) получить экран печати веб-страницы, php / unix Неустранимая ошибка: класс «PHPMailer» не найден Запуск PHP: невозможно загрузить динамическую библиотеку php5.4.3 / ext / php_ffmpeg.dll не является допустимым приложением Win32 Получение последнего вложенного идентификатора из MySQL в Yii прокрутка пейджера прокрутки В Yii2 Как вставить сразу несколько строк в базу данных mysql с помощью подготовленных операторов? Как создать общую папку между Homestead и моей локальной машиной Накладки на Google Карты Сокращение для массивов: существует литальный синтаксис, например {} или ? php: имитировать набор результатов mysql

Laravel Hash :: check () allways возвращает false

У меня есть профиль, для которого пользователь может редактировать собственные профили. в этой форме у меня есть текущий пароль. который должен соответствовать совпадению с базами данных.

Форма:

{{ 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