Форум русской поддержки Joomla!® CMS
11.12.2016, 02:25:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как сравнить пароли?

 (Прочитано 108 раз)
0 Пользователей и 1 Гость смотрят эту тему.
naeska
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« : 26.09.2016, 11:56:04 »

Возникла необходимость сделать сохранение настроек Joomla и VirtueMart отдельным php-скриптом не привязанным к Joomla 3. Сделал. Все работает: сохраняет имена, настройки и т.д.
Не работает только одно - смена пароля, так как не могу понять как он шифруется.
Объясню более подробно. Мне нужно взять пароль из формы, зашифровать его и сравнить с паролем из базы данных. Подскажите, пожалуйста, как пароль шифруется в Joomla 3.6.2. Никак не смог найти...
Спасибо.
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2289



« Ответ #1 : 26.09.2016, 12:34:20 »

Никак. В базе данных нет паролей.

Для понимания процессов можете открыть и посмотреть любой код авторизации/регистрации. На пальцах это выглядит так: берем пароль, берем соль (произвольный код), добавляем соль к паролю, затем из всей этой билеберды получаем хеш и записываем его в базу. Хеш может быть как MD5, так и SHA1, SHA2 и более экзотические. В вашем случае как раз и нужно начинать с изучения механизма формирования хеша и знать соль.
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #2 : 26.09.2016, 12:41:15 »

if ($passbase=md5($pass))
{***}
else ***

$passbase - пароль из БД
$pass - пароль, который сравниваем

Как то так может?

И вот тут каким то образом сравнили(но там древняя версия):
https://joomla-support.ru/thread/1653/
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7786



« Ответ #3 : 26.09.2016, 12:44:18 »

JUserHelper::verifyPassword(пароль, хешПароля)

\libraries\joomla\user\helper.php function verifyPassword
Записан
naeska
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #4 : 27.09.2016, 11:07:25 »

JUserHelper::verifyPassword(пароль, хешПароля)

\libraries\joomla\user\helper.php function verifyPassword

Спасибо большое.
Вот только я (балбес) неправильно выразился. Сравнить это пол беды. А как записать в базу данных новый пароль вместо старого? Если есть функция подскажите.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7786



« Ответ #5 : 27.09.2016, 11:11:27 »

в verifyPassword есть все, что вам нужно. посмотрите что происходит, если передан третий параметр $user_id
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet