es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Encripta la contraseña en NodeJs de la misma forma en que lo hace Drupal 7.

Estoy intentando migrar datos presentes en Drupal 7 a una plataforma de NodeJs.
Las contraseñas almacenadas en Drupal necesitan ser almacenadas en el mismo formato (en formato encriptado, ya que no se pueden decodificar).
Entonces, para los datos existentes (usuarios), necesito la misma técnica de hash de contraseña, de manera que la contraseña coincida cuando el usuario existente intente iniciar sesión.

Requisito resumido: contraseña almacenada en la plataforma de NodeJs: “alguna contraseña encriptada”

Contraseña ingresada por el usuario: “texto plano”

para que: hash(texto plano) === “alguna contraseña encriptada”

Encontré una biblioteca de NodeJs llamada “Drupal Hash”, pero parece que no está funcionando.

Fragmento de código que intenté:

var password = 'Hello@123';
var hashedExpectedPassword = '$S$DzjvIwyAB.A9CzV96g2GsE/hLzkXBI3OZdgGhZJBBJwDQANh.JuV';
var passwordHash = drupalHash.hashPassword(password).toString(`hex`);
console.log(passwordHash); // //$S$DW16ZF0m/1a3VRRp8ZT26jdjHEd4lwBMCoGyCfsOsQqMDF6w36j3

Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para migrar datos de Drupal 7 a una plataforma de NodeJs asegurando que las contraseñas permanezcan cifradas, es necesario replicar la misma técnica de hash de contraseñas utilizada en Drupal 7 en la plataforma de NodeJs. Una opción para lograr esto es utilizando la biblioteca Drupal Hash en NodeJs.

    Sin embargo, el código proporcionado en la pregunta muestra que la biblioteca Drupal Hash no está funcionando como se esperaba. No está generando la misma contraseña cifrada que la almacenada en Drupal.

    Para resolver este problema, puede ser necesario investigar por qué la biblioteca Drupal Hash no está funcionando como se esperaba. Alternativamente, se puede utilizar otra biblioteca de hash de contraseñas si puede replicar la misma técnica de hash utilizada en Drupal 7. Hay varias bibliotecas de hash de contraseñas disponibles en NodeJs, incluyendo bcrypt y crypto.

    Una vez identificada la biblioteca de hash de contraseñas adecuada, se puede actualizar el código para utilizar la biblioteca y cifrar la contraseña en texto plano introducida por el usuario para generar la contraseña cifrada. Esta contraseña cifrada se puede comparar con la contraseña cifrada almacenada en la base de datos de la plataforma de NodeJs para autenticar al usuario.

    En general, el requisito clave es utilizar la misma técnica de hash de contraseñas tanto en Drupal 7 como en la plataforma de NodeJs para asegurar que las contraseñas permanezcan cifradas y se puedan comparar durante la autenticación de usuarios.

Comments are closed.