0

我正在开发一个与 Moodle 2.5 平台交互的 android 应用程序。我需要使用户能够使用 android 应用程序登录。这些用户已经在 Moodle 数据库中创建。我可以通过创建自己的 PHP 脚本并传递用户的用户名和密码来访问 moodle 数据库。唯一的问题是,我不知道 Moodle 2.5 使用的密码加密。我需要知道他们使用什么方法来加密他们的密码,以便我的自定义密码验证可以工作。我知道它使用 bcrypt 并且我认为 md5 带有某种盐字符串。这是我的 PHP 代码:

<?php
require_once '../config.php';
$username=$_GET["username"];
$password=$_GET["password"];
$saltedpassword=md5($password.$CFG->passwordsaltmain);
$count=$DB->count_records("user",array('username'=>$username,'password'=>$saltedpassword));
echo $count;
?>

它只是行不通。由于密码不匹配。我的问题是,我如何生成 moodle 用于相同的哈希。任何帮助。谢谢。

4

1 回答 1

1

所以这就是答案。做这个:

<?php
require_once '../config.php';
$username=$_GET["username"];
$password=$_GET["password"];
$response="";
$user=authenticate_user_login($username, $password);
if(!$user->username==""){
    $response="1";
}else{
    $response="0";
}
echo $response;
?>

确保包含 config.php Moodle 文件。然后访问 authenticate_user_login Moodle 认证插件功能。完毕!!!谢谢你。

于 2013-07-04T09:24:51.987 回答