0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 8580 Просмотров

Привет всем! как и многие, начну с вопроса.
Не нашел форума обсуждения вопросов миграций с других систем, пожалуйста, перенесите тему в более подходящий раздел, если это нужно.


В процессе переноса пользовательских данных столкнулся с незнакомой мне доселе системой шифрования пароля crypt:salt
salt - как я понимаю, случайный md5() пароль, crypt - реальный пароль в той же md5(), каким-то непостижимым образом пропущенный через salt или что-то вроде того %)))

к примеру, незамысловатый пароль 11111 выглядит
в md5 как
b0baee9d279d34fa1dfd71aadb908c3f
в joomla как
480e560252bc9db5c98d00f495d2addd:m1cofuGVB3pTTvntubblR0LYCtoVpIDk

Пожалуйста, подскажите цепь преобразований имеющейся базы обычных 32-символьных md5-паролей (достаточно на примере одного 11111) в вид, использующийся в j1.5
или направьте на статью/кусок кода



*

smart

  • Администратор
  • 6485
  • 1315 / 15
  • Хочешь сделать хорошо — сделай!
Вот так этот значение получается:

Код
<?php
$salt  = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword('11111', $salt);
$password = $crypt.':'.$salt;
?>

Как вы видите, во вторую функцию надо передать нешифрованный пароль, в противном случае она вернет совсем другое значение. В принципе, насколько я понял код, возможна ситуация когда первой части нет... Я думаю, что имеет смысл посмотреть код компонента-мигратора с версии 1.0 на версию 1.5, наверняка там они эту задачу уже решали.
« Последнее редактирование: 31.03.2008, 15:15:25 от smart »

Спасибо!
поищу мигратор...

а возможно ли в 1.5 как-то не особенно болезненно подправить код, чтобы вернуть незамороченное md5-шифрование? -)

порывшись в разнообразных миграторах я (не без злости) не нашел никаких преобразований - в любом из них пароли берутся as is, и пишутся as is.
ТОЛЬКО ПОСЛЕ ЭТОГО мне стукнуло попробовать пройти авторизацию с обычным 32-символьным паролем в бд, вместо 32:32 %)
она прошла успешно %)

вопрос снимаю
*

smart

  • Администратор
  • 6485
  • 1315 / 15
  • Хочешь сделать хорошо — сделай!
Таким образом получается, что Joomla 1.5 поддерживает и старый формат паролей и новый... Ну что ж, это тоже результат и информация достаточно полезная. По крайней мере второй раз на этих граблях стоять уже не будем!
*

Kotofeich

  • Новичок
  • 20
  • 22 / 1
Может кому пригодится. Я рылся в по этой тематике.
Определяется пароль в joomla 1.5 следующем образом:
пользователь ввел логин и пароль. По логину мы нашли его в бд.
Берем из бд его пароль, и делаем такую вот штуку:
$parts   = explode( ':', $hash_password->password );
        $crypt   = $parts[0];
        $salt   = @$parts[1];

Итак нас тут интересует $salt. Через него и пароль пользователя мы создаем $crypt
 $testcrypt = JUserHelper::getCryptedPassword($password, $salt);

В итоге нам осталось только сравнить $password и $testcrypt. Если они совпали, то юзверь успешно авторизован.
Linkfeedator - клиент к биржам sape, setlinks, linkfeed. Раскрутка и продвижение сайтов.
http://kjoomla.com - все для программистов на joomla 1.5
*

klimin

  • Новичок
  • 1
  • 0 / 0
В итоге нам осталось только сравнить $password и $testcrypt. Если они совпали, то юзверь успешно авторизован.

Остается сравнить не $password и $testcrypt, а $crypt и $testcrypt!

Народ... Это всё хорошо... А может кто подскажет алгорит работы функций JUserHelper::genRandomPassword() и JUserHelper::getCryptedPassword()??? Очень надо организовать точно такое же шифрование... Всё уже перерыл и в движке и на форумах... Заранее спасибо.
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Дык посмотри в коде что эти функции делают и выдери куски раз так надо.

А где они там описаны? Находил только куски кода где они применяются...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Переход с Joomla! 1.5 на 2.5

Автор Usman48

Ответов: 2
Просмотров: 1117
Последний ответ 22.01.2014, 18:50:24
от flyingspook
Переход с DLE 8.3 на Joomla 1.5

Автор Андрей Иванович

Ответов: 13
Просмотров: 4826
Последний ответ 06.12.2013, 02:18:21
от llektor
Переход с Joomla 1.5.26 на ветку 2.5

Автор Kizimov

Ответов: 0
Просмотров: 2230
Последний ответ 27.04.2013, 00:44:27
от Kizimov
Как установить правильно переход с 1,22 на 1,23 русской версии

Автор rafaello9

Ответов: 2
Просмотров: 945
Последний ответ 30.04.2011, 22:38:34
от rafaello9
переход с php4 на php5

Автор user01

Ответов: 12
Просмотров: 2895
Последний ответ 04.07.2010, 16:24:31
от AlexSmirnov