четверг, 13 мая 2010 г.

Vexim. Хэш пароля.

Тут вот неожиданно понадобилось понять, как руками поменять пароль юзеру в базе vexim'а. Т.е. надо было взять новый пасс, правильно его хэшировать и засунуть в базу.
Поковырявшись в сорсах вывел следующее:
Пароль хешируется php функцией crypt(), которой передаётся пасс и salt вида $1$xxxxxxxx$, где xxxxxxxx - некая случайная последовательность.
В результате имеем строку вида: $1$xxxxxxxx$хеш_пароля, она и вставляется в базу.
Пример:
Надо юзеру user@domain.net поставить пароль 12345678
Отрабатываем скриптик:
<?php
echo crypt('12345678', '$1$adevtdnu$');
?>
Получаем строчку $1$adevtdnu$BXoKOb9rWVuC7jCZuMooH/
И делаем апдейт в базе:
UPDATE users
SET crypt='$1$adevtdnu$BXoKOb9rWVuC7jCZuMooH/'
WHERE username='user@domain.net';

Комментариев нет: