عدم تطابق رمز عبور وارد شده با رمز عبور در دیتابیس

پرسیده شده
فعالیت 1160 روز پیش
دیده شده 332 بار
0

سلام وقت بخیر. من در قسمت camparePassword به false میخورم در حالی که user هم پیدا کرده و رمز عبور وارد شده داخل لاگین با پسورد دیتابیس هم یکی هستش.

const userModel = require('@models/users');
const hashService = require('./hashServices')
exports.login = async(email,passwordPlain)=>{

    const user = await userModel.findByEmail(email);
    if(!user){
        return false;
    };

    const{password} = user;
    console.log({password})
    

    return hashService.camparePassword(passwordPlain,password) ? user : false;
}

اینم قسمت hashservices

const bcrypt = require('bcrypt');

exports.hashPassword = plainPassword =>{
    return bcrypt.hashSync(plainPassword,10)
};

exports.camparePassword = (plainPassword,hashedPassword)=>{
    return bcrypt.compareSync(plainPassword,hashedPassword)
}

ممنون میشم راهنمایی کنید.

فایل پیوست

میلاد رسولی
میلاد رسولی

2 اسفند 99

0
حذف شده

سلام خدمت شما. بخش comparePassword دقیقا توسط خود bcrypt داره انجام میشه پس قطعا یکی از حالت های زیر رخ داده:

1 - کلمه عبور شما مچ نیست و بهتره یک بار دیگه کلمه عبور داخل دیتابیس رو دقیق بررسی کنید.

2 - ممکنه در زمان انجام عملیات به کلمه عبور داده های اضافه بشه یا به صورت صحیح دریافت نشه و این باعث عدم تطبیق میشه.

 

حتما حتما مراحل رو دقیق و مو به مو یک بار از اول بررسی و اجرا کنید.

فایل پیوست

کیوان علی محمدی

توسط

کیوان علی محمدی

3 اسفند 99