我正在开发一个与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用于相同的哈希。任何帮助。感谢。
答案 0 :(得分: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身份验证插件函数。 DONE! 谢谢。