Не могу разобраться как шифруются пароли.
https://docs.moodle.org/30/en/Password_salting
До версии 2.5 к паролям перед хешированием добавляли зашумление (salt), единый для всех пользователей и указанный в config.php ($CFG->passwordsaltmain).
После 2.5 используются функции РНР для генерации каждому пользователю своего личного salt, поэтому в конфиге параметр $CFG->passwordsaltmain уже не нужен. Как генерируется salt можно посмотреть тут: /lib/password_compat/lib/password.php
Проверка пароля - функция validate_internal_user_password (/lib/moodlelib.php)