Joomla генерирует случайную соль для каждого пароля. Здесь вы можете найти ценную информацию о том, как работать с методами joomla для генерации паролей:
http://forum.joomla.org/viewtopic.php?f=476&t=308499
Из этого бита видно, что соль хранится после пароля с двоеточием в качестве разделителя.
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword("blabla", $salt);
$password = $crypt . ':' . $salt;
[EDIT]
Мне просто нужно написать авторизационный валидатор с Zend_Auth для проверки установки Joomla (1.0), и я решил обновить информацию об этом. Отрывок моего кода.
$dbAdapter = Zend_Registry::get('jdb');
$this->_authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$this->_authAdapter->setTableName('jos_users')
->setIdentityColumn('username')
->setCredentialColumn('password');
//Joomla 1.0 uses hashes in the form md5(passwort + salt) + salt
$users = new Users();
$hash = $users->getHash($value);
$salt = substr($hash, strpos($hash, ':') + 1);
$password = md5($context['password'] . $salt) . ':' . $salt;
[/ EDIT]