EDIT: Я разместил это до того, как был показан предыдущий ответ.
Вы всегда можете разбить сохраненный пароль из соли, поскольку они просто разделены символом ':'?
Если страница находится вне рамок Joomla вам нужно будет включать в себя структуру, которая должна быть в состоянии осуществить с этим (reference - кодоблок ниже). Если вы находитесь внутри рамки Joomla, пропустите этот блок. Тем не менее, я не испытывал ссылочный кодоблок:
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE', dirname(__FILE__).DS."..".DS."..");
require_once (JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE.DS.'includes'.DS.'framework.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
В рамках вам нужно будет искать пользователя по ID или имя пользователя:
$user =& JFactory::getUser(username or id goes here);
Тогда, если у вас есть матч за $ пользователю вы можете просто сделать этот доступ, что пароль пользователя:
$user->password;
Тогда вы можете просто сравнить с тем, что ваш $ PSW
Я считаю, что это должно помочь вам на вашем пути.
Вы хотите использовать это, чтобы зарегистрировать пользователя с учетными данными Joomla на внешний сайт или вы хотите зарегистрировать их на сайте Joomla?
Да, но как вы это делаете сравнение? Это не так просто, как сравнение двух строк, потому что строчка crypt: salt, генерируемая из слова, будет вызывать разные строки каждый раз, несмотря на то, что каждый раз предоставляется один и тот же пароль, поэтому он никогда не будет == что находится в базе данных ... Я предполагаю, что есть способ написать функцию, которая будет правильно выполнять сравнение. – lioman
Если я правильно понимаю ... не мог ли вы получить сохраненный пароль для пользователя, который также даст вам соль? Затем вы разделяете строку на «:», а задняя половина - соль, а фронт - склеп. Затем вызовите свой код выше с полученным значением соли, чтобы сгенерировать возможный крипт, и посмотрите, совпадает ли сгенерированное значение склепа с передней частью строки пароля из базы данных. – Bryan
Спасибо, я не знал, что использование сохраненной соли БД с моим кодом woud приведет к созданию соответствующего склепа. – lioman