Funcion que devuelva password TRUE o FALSE

Funcion que devuelva password TRUE o FALSE

de Jesu Lopez -
Número de respuestas: 2

Hola buenas,

Soy bastante nuevo aquí, estoy desarrollando un proyecto basado en moodle.

Lo que yo necesito es una función que me devuelva si el password de cierto usuario es correcto o no, evidentemente al estar codificado en MD5 no se puede hacer realizando consultas a la bbdd, pero mi pregunta era si a través de una API o similar existe esa función.

He estado echando un vistazo a moodlelib.php y a datalib.php, pero no lo he encontrado, no sé de todas maneras si estoy buscando en el sitio correcto, ni si existe dicha función.

Lo que quiero es aprovechando los usuarios registrados en moodle, que puedan autentificarse con los mismos datos en otra web.

 

Un saludo y gracias guay

Promedio de valoraciones: -
En respuesta a Jesu Lopez

Re: Funcion que devuelva password TRUE o FALSE

de Jesu Lopez -

Por el foro leí que era MD5, hay funciones que escribiendo una cadena, devuelven el MD5 correspondiente.

Usuario: "profesor1"

Contraseña: "profesor1"

Contraseña en MD5: "242a7df6497824b3e47e062856610a7a"

Contraseña que aparece en la base de datos: "$2y$04$URdqrVUfrC6KuYTl9U0NDOr9k3hlGYbZFHhqQr7tIpvtAseh9qgve"

 

Las cuales son bastante diferentes, puede ser que en la versión 2.5 no lo codifique en MD5 y utilice otro sistema?

EDITADO

Moodle se ha movido para usar un mecanismo más seguro para asegurar las contraseñas (passwords); a partir de 2.5 las contraseñas nuevas se generarán usando bcrypt en lugar de md5. Debido a que bcrypt sólamente es soportado por las versiones de PHP 5.3.7 y superiores, es importante que todos los servidores dentro de un cluster usen la misma versión de PHP (MDL-35332).

Alguien con alguna idea de cómo poder hacer lo que quiero, ahora de esta manera?

Un saludo.

En respuesta a Jesu Lopez

Re: Funcion que devuelva password TRUE o FALSE

de Carlos Diaz Perez (ESRP) -

Directamente sobre Moodle no vas a poder, necesitas saber el hash que usa para codificarlo, y no yo desde luego no he conseguido encontrarlo.

 

Existe un componente Joomdle que te permite integrar un joomla con moodle, y este si que funciona correctamente, en realidad lo que hace es identificar a los usuarios directamente desde la base de datos Joomla.

En este caso si que puedes acceder mediante php a la tabla y comprobar el password, te paso un ejemplo..

 

$sql = "SELECT * FROM joomla_users WHERE username='".$usuario."'";   

$conn=mysql_query($sql);   

while ($row1=mysql_fetch_array($conn))

{        $pass2=$row1[password];    }

    //divido el hash de la contraseña separado por los :        

$pass_part = explode(":", $pass2);        

$pass_part[0]; // obtengo la pass+sal en md5        

$pass_part[1]; // obtengo solo sal        

$cadena = md5($pass . $pass_part[1]);        

echo "cadena";        

echo $cadena;          

if ($cadena === $pass_part[0])

{ $stat=1;         }

else { $stat=2;

echo $stat;}