Encriptar passwords para usuarios de Moodle desde programación php

Enviado por Carxl el Mar, 08/17/2010 - 23:21.

Mostraré como se debe encriptar las contraseñas para los usuarios en Moodle desde programación php.

En un proyecto, alguna vez hubo un requerimiento de permitir loguear usuarios en un sistema leyendo los usuarios de la tabla mdl_user de Moodle.

Cuando me aventuré a desarrollar dicha aplicación, me encontré que Moodle no sólo encripta las contraseñas de los usuarios con MD5 si no que se debe agregar algo más. Buscando y escudriñando en la página oficial de Moodle, encontré este post. Ese “algo más” hace referencia a la semilla que Moodle crea cuando se instala en el servidor.

Dicha semilla se encuentra en el archivo config.php ubicado en la raíz del sitio. Al abrirlo, encontraremos una línea como esta:

 

config.php (archivo de Moodle)

$CFG->passwordsaltmain = 'semilla_moodle';

 

Al tener esta línea identificada, podemos crear nuestra contraseña adaptada a Moodle:

autenticar.php

//contraseña dada por el usuario, puede venir de un form quizás usado para autenticación
$contrasena = ‘123456’;

//leer la semilla de Moodle, debe leerse de la constante definida arriba
$semillaMoodle = ‘semilla_moodle’;

//crear password adaptado a moodle
$password = md5( $contrasena.$semillaMoodle );

Con el nuevo password creado, podremos buscar un usuario con esa contraseña y su user id.

//inicializo variables
$nSqlMoodle = null;

//Asumo que hay una sesión activa de mysql
$qSqlMoodle = "SELECT * FROM mdl_user WHERE username='$usuario' AND password='$password';";
$eSqlMoodle = mysql_query( $qSqlMoodle );
$nSqlMoodle = mysql_num_rows($eSqlMoodle);
echo “Encontró: $nSqlMoodle”;
//Encontró 1

De esta manera la consulta nos retornará un registro si el password fue escrito correctamente.

Espero a alguien le evite dolores de cabeza ;)

Hasta la próxima!!

Graciass!! A mi si que me

Enviado por Anónimo (no verificado) el Mié, 09/22/2010 - 03:34.
Graciass!! A mi si que me sirvio de gran ayuda :)

Me alegra que te haya servido

Enviado por Carxl el Mar, 10/05/2010 - 11:58.
Me alegra que te haya servido :) Saludos!

Hola que tal!, He llegado

Enviado por Anibal (no verificado) el Jue, 03/31/2011 - 04:55.
Hola que tal!, He llegado hasta este post buscando la solución o un gran problema que tengo. Estoy intentando integrar cuentas de usuarios de Drupal 7 y Moodle 2.0.2. Drupal tiene un sistema de encriptacion sha512 y Moodle sha1, por lo que al intentar hacer una 'select' buscando por user y password, la password nunca coincide. Todo esto lo tiene que hacer moodle en la autentificacion, utilizando el modulo de 'Usar una base de datos externa', y no se como ni donde debo modificar para poder añadir este tipo de codificacion y que moodle pueda consultar en la base de datos de Drupal. Por favor, si tienes alguna idea me sería de gran ayuda! Saludos y gracias,

Pues realmente el problema

Enviado por Carxl el Mar, 04/05/2011 - 00:16.
Pues realmente el problema como tal no lo he tenido. Pero lo que te puedo decir es que tanto Moodle como Drupal, permiten llamar otra base de datos para loguearte. Es decir, o bien puedes llamar desde Moodle la autenticación con Drupal, o bien puedes llamar la autenticación con desde Drupal a Moodle. Si aún nada de esto te sirve, quizás puedas ver que tan viable es para ti hacer un autenticación con LDAP. Espero te sirva. Saludos.

Hola: Buscando una posible

Enviado por Anónimo (no verificado) el Mié, 07/27/2011 - 07:01.
Hola: Buscando una posible solución a mi problema he llegado a esta página. Parece que coneces bastente moddle, por eso me he atrevido a escribirte. Mi problema es sencillo de describir, pero no encuentro como solucionarlo. Necesito que los alumnos de moddle que estén conectados en determinado momento, sean expulsados de moddle, de forma que se cierre la sesión activa que tienen en ese monento y fozar así que vuelvan ha entrar. Por favor, te ruego que si tienes alguna idea, me lo hagas saber. Saludos y gracias de antemano por el tiempo que me has dedicado.

gracias... de verdad que me

Enviado por crhis (no verificado) el Mié, 08/10/2011 - 23:16.
gracias... de verdad que me sirvio bastante. llevo dias ingeniandomela para hacer eso.. vale perrin!!

Genial!!! era justo lo que

Enviado por caro (no verificado) el Jue, 10/20/2011 - 08:22.
Genial!!! era justo lo que necesitaba! mil gracias groso!!!

Que bueno que les sirva. :)

Enviado por Carxl el Mié, 10/26/2011 - 12:43.
Que bueno que les sirva. :) Saludos a todos!

Enviar un comentario nuevo

  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta se hace para comprobar que es usted una persona real e impedir el envío automatizado de mensajes basura.
CAPTCHA de imagen
Enter the characters shown in the image.