2016-01-07 1 views
0

У меня есть Moodle 2.7. Пользовательские логины и хеши паролей хранятся в таблице mdl_user. Я хочу создать внешний скрипт, который может проверить - если логин и пароль верны.Проверка пароля Moodle по внешнему скрипту

Как я вижу - эта версия moodle использует некоторую функцию php, например password_hash() для генерации пароля хэша.

Моя версия php - 5.4, поэтому я не могу использовать эту функцию. Поэтому я использовать эту библиотеку https://github.com/ircmaxell/password_compat с этим кодом

$password_hash = password_hash($password , PASSWORD_DEFAULT, array()); 

Проблема в том, что хэш отличается каждый раз, когда я его вычислить. Поэтому я не могу сравнить этот хэш с строкой, помещенной в таблицу mdl_user.

ответ

2

Если эта функция аналогична функции password_hash(), родной для PHP, соль генерируется по адресу с хешем, а соль рандомизирована. Из-за этого сравнение результатов двух отдельных вызовов password_hash() не будет соответствовать.

Функция, которую вы ищете password_verify(), которая берет введенный пароль и хэш в базе данных. Если это возвращает true, то пароли совпадают.

Смежные вопросы