試試這個,
以下一段代碼是創建Joomla標準密碼(舊版本1.5,1.7等)。
jimport('joomla.user.helper');
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password_choose, $salt);
$password = $crypt.':'.$salt;
的Joomla 3.2+推出PHP的密碼算法bcrypt,但它所需的最低PHP 5.3+如果你打算使用bcrypt確保您的服務器的PHP版本能夠爲這個,read more here。
的Joomla其他版本的使用以下方法(的Joomla 3.x的)
jimport('joomla.user.helper');
$yourpass = JUserHelper::hashPassword($password_choose);
老算法也能正常工作在最新的版本太多,唯一的區別是舊版本創建一個65字符密碼和新的一個創建34個字符的字符串。總是去更新版本
此外,如果您使用外部腳本應包括像下面的Joomla框架。這應該在您的外部PHP文件的最頂端
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));//this is when we are in the root
define('DS', DIRECTORY_SEPARATOR);
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
另外你提到你必須檢查用戶憑據那麼沒有需要檢查的密碼格式,所有的事情只需使用下面的代碼框架加載後。
$credentials['username'] = $data['username']; //user entered name
$credentials['password'] = $data['password']; //users entered password
$app = JFactory::getApplication();
$error = $app->login($credentials, $options);
if (!JError::isError($error)) {
// login success
}
else{
//Failed attempt
}
希望它有助於..
我希望*他們還沒有使用MD5,它很虛弱。 – Quentin
這不是md5,它是鹽醃md5,雖然不如現在使用的那麼好,但是它非常不同。 – Elin
是的,但這是最後一個可用的joomla versio ... – Gregor