Реализовано в lib/moodlelib.php в update_internal_user_password и hash_internal_user_password
Реализовано в lib/moodlelib.php в update_internal_user_password и hash_internal_user_password
подскажите пожалуйста, может я что то не правильно понял, в итоге пароль шифруется функцией md5?
я пишу программу, которая работает с базой moodle, нужна авторизация, делаю так
$password = hash_internal_user_password($_POST['password']);
потом сравниваю с паролем в базе данных, но там он не такой, как получается у меня при шифровании данной функцией и вход не производится, может нужно ещё что то добавить?
сравниваю с паролем в базе данных, но там он не такой, как получается у меня при шифровании
Потому что сейчас в Moodle ещё и salt из config.php добавляется к хешу md5 пароля.
спасибо, всё получилось, в конец строки с паролем добавил строку $CFG->passwordsaltmain = '....';
из файла config.php
результат шифрования функцией md5() совпал с хранимым в базе данных мудла
Здравствуйте,
Потому что сейчас в Moodle ещё и salt из config.php добавляется к хешу md5 пароля.
Говоря "сейчас" вы имеете в виду 2 версию или все текущие версии?
Меня это заинтересовало в аспекте переноса пользователей из версии 2,2 в версию 1,9. Базы разные и прямой перенос хешей положительного результата не дал.
Хеширование паролей по md5 с зашумлением SALT используется с версии 1.9.7.
Попробуйте добавить в config.php после
$CFG->passwordsaltmain = 'какой-то набор символов';
строку
$CFG->passwordsaltalt1 = 'старый набор из старого config.php';
Спасибо большущее!
Воспользуйтесь функцией validate_internal_user_password или хотя бы посмотрите как она работает. Проверьте кодировку, в которой получаете пароль - должна быть utf-8.