最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

尝试使用 bcrypt 将用户保存到 mySql 中。但返回错误:需要数据和盐参数

网站源码admin27浏览0评论

尝试使用 bcrypt 将用户保存到 mySql 中。但返回错误:需要数据和盐参数

尝试使用 bcrypt 将用户保存到 mySql 中。但返回错误:需要数据和盐参数

尝试使用 bcrypt 将用户保存到 mySql 中。但返回错误:需要数据和盐参数。

这是我的代码

授权控制器:

export const register = (req, res) => {
//CHECK EXISTING USER
const q = "SELECT * FROM user WHERE email = ? OR username = ?";

db.query(q, [req.body.email, req.body.username], (err, data) => {
    if (err) return res.status(500).json(err);
    if (data.length) return res.status(409).json("User already exists!");

    //Hash the password and create a user
    const salt = bcrypt.genSaltSync(10);
    const hash = bcrypt.hashSync(req.body.password, salt);

    const q = "INSERT INTO users(`username`,`email`,`password`) VALUES (?)";
    const values = [req.body.username, req.body.email, hash];

    db.query(q, [values], function (err, data) {
        if (err) return res.status(500).json(err);
        return res.status(200).json("User has been created.");
    });
  });

};

如你所见,我已经定义了salt和hash by

const salt = bcrypt.genSaltSync(10);
 const hash = bcrypt.hashSync(req.body.password, salt);

所以我不知道为什么返回 Error: data and salt arguments required.

这里是返回的错误:

错误:需要数据和盐参数 在 Object.hashSync (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/bcrypt/bcrypt.js:91:15) 在查询。 (文件:///Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/controllers/auth.js:14:27) 在查询。 (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/Connection.js:526:10) 在 Query._callback (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/Connection.js:488:16) 在 Query.Sequence.end (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24) 在 Query._handleFinalResultPacket (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/sequences/Query.js:149:8) 在 Query.EofPacket (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/sequences/Query.js:133:8) 在 Protocol._parsePacket (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/Protocol.js:291:23) 在 Parser._parsePacket (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/Parser.js:433:10) 在 Parser.write (/Users/rickyyeung/Desktop/nodejsProject/rick20230510booking/api/node_modules/mysql/lib/protocol/Parser.js:43:10) rickyyeung@Rickys-MacBook-Air api %

回答如下:
发布评论

评论列表(0)

  1. 暂无评论