Ich bin neu in Knoten js, ich versuche, ein verschlüsseltes Passwort zu validieren, und ich habe den folgenden Code angegeben, den ich versucht habe.
async function passCheck(event) {
// in event i am passing user entered password and email
var EnteredPassword = bcrypt.hashSync(event.password, 10); //10 saltrounds
var fromDB = await pool.query('SELECT password from User WHERE email = ?', event.emailID);
if (EnteredPassword == fromDB) {
//Here i am comparing
console.log('valid');
} else {
console.log('invalid');
}
}
bcrypt
verfügt über eine integrierte Methode zum Vergleichen von Hashes.
async function passCheck(event) {
var fromDB = await pool.query('SELECT password from User WHERE email = ? Limit 1', event.emailID);
// --------------------------------------------------------------------------^
// Added limit 1 to make sure the only one record will be returned.
if (fromDB.length > 0 && await bcrypt.compare(event.password, fromDB[0].password)) {
//Here i am comparing
console.log('valid');
} else {
console.log('invalid');
}
}
DB-Ergebnismengen geben normalerweise ein Array von Objekten zurück. Überprüfen Sie daher, ob einige Ergebnisse vorhanden sind ( fromDB.length > 0
), und übergeben Sie dann die Hash-Zeichenfolge selbst an die Vergleichsmethode.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen