如何生成 Joomla 密码?
How to generate a Joomla password?
我需要使用 Joomla crypt 密码才能注册用户。
我现在使用的是:
$query="update table_user set password=md5(password) where id_user='{$form->data['id_user']}'";
$db->setQuery($query);
$db->query();
我的问题是:如何将此密码转换为像 joomla 密码一样有效且加密的密码?
这个问题不重复,因为旧问题太老了,目前不能应用。
您需要按照以下方式进行。
query= "UPDATE table_user SET password=MD5(‘new password’) WHERE usertype = 'Super Administrator'";
$db->setQuery($query);
$db->query();
Joomla 3.x 使用 Bycrypt,而不是 MD5,因此您当前的方法不正确。
您可以使用以下方法生成哈希:
jimport('joomla.user.helper');
JUserHelper::hashPassword($password);
其中 $password
是密码变量。
您可能还想考虑为您的数据库查询使用 Joomla 编码标准:
https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase
希望对您有所帮助
更新:
jimport('joomla.user.helper');
$password = 'however you get the password';
$hash = JUserHelper::hashPassword($password);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update($db->quoteName('table_user'))
->set($db->quoteName('password') . ' = ' . $db->quote($hash))
->where($db->quoteName('id_user') . ' = ' . (int)$form->data['id_user']);
$db->setQuery($query);
$result = $db->execute();
您还需要更新 $password = 'however you get the password';
,因为我不知道您从哪里获得密码
我需要使用 Joomla crypt 密码才能注册用户。 我现在使用的是:
$query="update table_user set password=md5(password) where id_user='{$form->data['id_user']}'";
$db->setQuery($query);
$db->query();
我的问题是:如何将此密码转换为像 joomla 密码一样有效且加密的密码?
这个问题不重复,因为旧问题太老了,目前不能应用。
您需要按照以下方式进行。
query= "UPDATE table_user SET password=MD5(‘new password’) WHERE usertype = 'Super Administrator'";
$db->setQuery($query);
$db->query();
Joomla 3.x 使用 Bycrypt,而不是 MD5,因此您当前的方法不正确。
您可以使用以下方法生成哈希:
jimport('joomla.user.helper');
JUserHelper::hashPassword($password);
其中 $password
是密码变量。
您可能还想考虑为您的数据库查询使用 Joomla 编码标准:
https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase
希望对您有所帮助
更新:
jimport('joomla.user.helper');
$password = 'however you get the password';
$hash = JUserHelper::hashPassword($password);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update($db->quoteName('table_user'))
->set($db->quoteName('password') . ' = ' . $db->quote($hash))
->where($db->quoteName('id_user') . ' = ' . (int)$form->data['id_user']);
$db->setQuery($query);
$result = $db->execute();
您还需要更新 $password = 'however you get the password';
,因为我不知道您从哪里获得密码