Así que estoy tratando de crear un registro básico en el lado del backend con nodejs y MySQL.
let params = [email, password]; const salt = bcrypt.genSaltSync(10); var promise = bcrypt.hash(password, salt); let query = 'insert into users (email, password) values (?,?)'; connection.promise().query(query, params, (err, result, fields) => { console.log(err); if(err && err.code === 'ER_DUP_ENTRY') { res.status(400).json({ "message": "There is an account already associated with this email adress!" }); res.end(); } else { res.status(200).json({ "message": "User created!" }); res.end(); } });Mi problema es que cuando uso la función bcrypt.hash, no sé cómo obtener la contraseña codificada porque la función me devuelve una promesa. Entonces, ¿cómo accedo a la contraseña cifrada para luego poder introducirla en mi base de datos? Sé que puedo usar promise.then() pero todavía no tengo idea de qué hacer después para obtener mi contraseña. Alguna idea, esto parece fácil pero aún no soy lo suficientemente inteligente
Debe usar el método await o Use bcrypt.hashSync() en lugar de bcrypt.hash() ,
const salt = bcrypt.genSaltSync(10); const hashedPassword = bcrypt.hashSync(password, salt); //or const hashedPassword = await bcrypt.hash(password, salt);Consulte el documento: https://www.npmjs.com/package/bcrypt