Вообщем тут задался вопросом... а какое шифрование паролей в 3.2 насколько я понял данные пользователей хранятся в таблице Members , следовательно если я хочу чтобы данные для авторизации были идентичными с форумом (не нужно логиниться на форуме, нужно только использовать существующую базу форума) набросал примерную функцию затеи , но вот не задача - у IPB не простой md5 а есть еще и соль, и как он с этой солью работает - не понятно. в базе есть 2 интересных столбца members_pass_hash members_pass_salt но при нескольких комбинациях соли и md5 не получилось добится идентичного результата с members_pass_hash вопрос - как происходит шифрование пароля и то ли поле я вообще пытаюсь отловить ? с 3.2 дело имею впервые... гугл молчит. исходник функции :
function checkPass($realPass,$password){
if (strlen($realPass) == 32)
{
$cp = md5($password);
}
else {
if(strpos($realPass,'$SHA$') !== false)
{
$ar = preg_split("/\\$/",$realPass);
$salt = $ar[2];
$cp = '$SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
}
else
{
$saltPos = (strlen($password) >= strlen($realPass) ? strlen($realPass) : strlen($password));
$salt = substr($realPass, $saltPos, 12);
$hash = hash('whirlpool', $salt . $password);
$cp = substr($hash, 0, $saltPos) . $salt . substr($hash, $saltPos);
}
}
if ($realPass==$cp) {
return true;
}
else {
return false;
}
нашел шифрование не понятно почему он не получился в прошлый раз но с новой солью - сошлось. md5(md5($salt).md5($pass))