在NodeJs和Typescript中使用bcrypt哈希密码时出错

时间:2018-09-10 11:18:15

标签: node.js typescript hash bcrypt

我的代码需要帮助。我已经成功将散列密码发送到数据库,但是完成“比较”的登录/身份验证部分无法正常工作。通常说的密码是不确定的。

这是逻辑。

const salt = bcrypt.genSaltSync(10);

let tohash;

function hashPass(password) {
    tohash = bcrypt.hashSync(password, salt, function (err, hash) {
        if (err) return err;
        user.password = hash;

    });
    console.log('Password is ' + password);
    console.log('Tohash is ' + tohash);

    return { tohash: tohash };
}


function correctpass(password, user) {
    console.log('Tohash here is ' + tohash);

    let deHash = bcrypt.compare(password, user.password, function (err, result) {
        console.log('Password is ' + password);
        if (err) {
            console.log('Incorrect password');
        }
        console.log('Correct Password');
        return result;
    }); 

    return { deHash: deHash };
}


export { hashPass };
export { correctpass };

在这里使用Sequelize进行调用

const unHash = correctpass(密码);     尝试{

    user.findOne({
        where: {
            id : 55,
            email: "preciousegunjobi05@yahoo.com",
            //password: isPasswordCorrect.password.toString(),
            password: unHash.deHash(req.body.password),
            user_type: "tutor"
        }
    }).then(userdetails => {
        res.send(userdetails);
                console.log("data is " + userdetails);

0 个答案:

没有答案