Добавление хешированного md5 пароля в БД mysql

Discussion in 'PHP' started by Naizer, 26 Jan 2013.

  1. Naizer

    Naizer New Member

    Joined:
    24 Jul 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Собственно всё дело происходит на joomla 2.5. Если тема не соответствует ветке, прошу перенести в нужный раздел.

    Задача такова: необходимо добавить пользователей через БД. Установлен компонент CommunityBuilder. Со всем разобрался. С помощью функций php в связке с sql запросами, пользователи добавляются корректно и отображаются в менеджере пользователей самой Joomla и компонента CB. НО не получается корректно задать хешированный пароль в таблице _users. Просто функция md5()не катит, используется соль. Класс шифрования описан в файле "libraries/joomla/user/helper.php". Выдираю оттуда этот класс, вставляю в свой файл .php ниже дописываю:

    Code:
    $salt = JUserHelper::genRandomPassword(32); $crypt = JUserHelper::getCryptedPassword($pas[$i], $salt); $newpas = $crypt.':'.$salt;
    Была проблема в том, что не определялся класс JCrypt, вытянул его отсюда "libraries/joomla/crypt" и также подлил в свой обработчик. В итоге генерируется нужный мне хеш, записывается в базу, но хоть ты тресни авторизация не проходит. После того как вручную меняю пароль из менеджера пользователей, генерируется новый хеш и всё отлично.. Я уже пробовал свой файлик класть в папку user, вместе с helper.php.. ничего не выходит.

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

    Такое ощущение, что в какой то таблице хранится рандомная $salt которая соответствует нужному id и без которой не проходит авторизация. Всю голову сломал, может кто подскажет.. в каком направлении двигаться хотя бы.