Опять пароли.....

Автор YuraKo_1, 16 октября 2009, 14:08:03

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

YuraKo_1

Нужно напрямую вне самого форума в таблицу smf_members додать юзера.Поиском нашел несколько тем по шифровании паролей. Шифровка sha1 соленая.
function generateHash($plainText, $salt = null)
{
$SALT_LENGTH=4;   
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, $SALT_LENGTH);
//echo $salt.'<br>';
}
else
{
$salt = substr($salt, 0, $SALT_LENGTH);
}
return $salt.'|'.sha1($salt . $plainText);
}
в $plainText  передал пароль(например 1234) получил соль-$salt и Пароль sha1($salt . $plainText); вставил в smf_members пробую зайти пишет что не верный пароль. В чем проблема. Возможно соль прикрепляю не там где нужно($salt . $plainText) подскажите плз.


YuraKo_1

'passwd' => sha1(strtolower($regOptions['username']) . $regOptions['password']),
'password_salt' => substr(md5(mt_rand()), 0, 4) ,
я так понял что $regOptions['password'] уже смешан с солью...... пока ненашел где и как мешалось

YuraKo_1

вобщем ответ такой:
в таблице smf_members 
'passwd' => sha1(strtolower($username) .$pswd),
'password_salt' => substr(md5(mt_rand()), 0, 4) ,
тут $username, $pswd полученые формой регистрации данные без всяких смешывань
работает, правда я так и не понял как 'password_salt' задействован, он вобще несвязан с 'passwd'............

digger®

Цитата: YuraKo_1 от 16 октября 2009, 17:11:29
правда я так и не понял как 'password_salt' задействован, он вобще несвязан с 'passwd'............

По моему, соль используется в куках или сессиях для защиты от подделок..

YuraKo

В куках, уже нашел.. там идет sha1(sha1(username.paswd).password_salt), щас пытаюсь сделать одновременный логин на сайте и форуме

YuraKo

Может ктото может подсказать как сделать авторизацию из вне, как правельну куки заполнить и.т.д

YuraKo

Нащет заполнения кук вне:
На странице где прошла авторизация на вашем сайте вставляем код
  require_once('__forum/SSI.php');   
  //$data=ssi_welcome($output_method='array');
  setLoginCookie('1209600', $id_member, $password);
  $id_member понятно,  $password=sha1(sha1(username.paswd(пароль полученый с формы авторизации)  ).password_salt);
Думаю проблема актуальная, и эти даные помогут комуто