JUSERHELPER-PASSWORD-001
JUserHelper::getCryptedPassword()
JUserHelper::getCryptedPassword / getSalt
The old salt + crypt helpers are gone. Use password_hash via UserHelper.
JUserHelper::getCryptedPassword() → UserHelper::hashPassword() / verifyPassword()
What you will see
- Call to undefined method ...::getCryptedPassword
- Call to undefined method ...::getSalt
Symptoms people search
login hash mismatch · getCryptedPassword
Replace this code
Swap JUserHelper::getCryptedPassword() for UserHelper::hashPassword() / verifyPassword().
Joomla 3
Remove or stop calling this
$hash = JUserHelper::getCryptedPassword($plain, $salt);Joomla 4 / 6
Use this instead
use Joomla\CMS\User\UserHelper;
$hash = UserHelper::hashPassword($plain);How to fix it
- 1hashPassword for new hashes.
- 2verifyPassword for checks.
- 3Never store unsalted MD5.
Also known as
getCryptedPassword · getSalt · hashPassword
There is no 1:1 swap for this one. The architecture changed. If you cannot rewrite it, Infyways can.
Related issues
- Joomla 3 → 4Joomla API
JRequest::getVar() and the whole JRequest API
JRequest::getVar() → $app->getInput()->get('id')
- Joomla 3 → 4Joomla API
JError / JException
JError::raiseError() → throw new RuntimeException() / try-catch
- Joomla 3 → 4Joomla API
isAdmin() / isSite()
$app->isAdmin() → $app->isClient('administrator') / isClient('site')
- Joomla 3 → 4Joomla API
Factory::getUri()
JFactory::getUri() → Uri::getInstance()
- Joomla 3 → 4Joomla API
Factory::getXml() / JXMLElement
JFactory::getXML() → SimpleXMLElement
- Joomla 3 → 4Joomla API
Factory::getEditor()
JFactory::getEditor() → Editor::getInstance()