gpt4 book ai didi

node.js - data 必须是字符串,salt 必须是 salt 字符串或轮数

转载 作者:行者123 更新时间:2023-12-02 03:15:03 25 4
gpt4 key购买 nike

这是我得到的错误:错误:数据必须是字符串,盐必须是盐字符串或轮数。这是我编写的代码,用于使用他们的电子邮件 ID 重置我的数据库中的密码。如果这不正确,谁能告诉我如何使用 oracle 数据库在 Node js 中重置密码。错误在 bcrypt.hash 行中。

完整代码如下:

function changePassword(email, newPassword, callback) {

var oracledb = require('oracledb');
oracledb.outFormat = oracledb.OBJECT;

oracledb.getConnection({
user : '',
password : '',
connectString : ''
},
function(err, connection) {
if (err) {
return callback(new Error(err));
}
bcrypt.hash(newPassword, numSaltRounds, function(err, hash) {
if (err) { return callback(err); }
connection.execute(
' select password as "password" = : hash, ' +
' from jsao_users ' +
' where email = :email ', [hash, email], { autoCommit: true },
function(err, result) {
if (err) {
console.log(err);
doRelease(connection);
return callback(new Error(err));
}
doRelease(connection);
callback(null, result.rowsAffected > 0);
});
});

// Note: connections should always be released when not needed
function doRelease(connection) {
connection.close(
function(err) {
if (err) {
console.error(err.message);
}
});
}
});
}

这是我收到错误的部分:

 bcrypt.hash(newPassword, numSaltRounds, function(err, hash) { //this is the line
if (err) { return callback(err); }
connection.execute(
' select password as "password" = : hash, ' +
' from jsao_users ' +
' where email = :email ', [hash, email], { autoCommit: true },
function(err, result) {
if (err) {
console.log(err);
doRelease(connection);
return callback(new Error(err));
}
doRelease(connection);
callback(null, result.rowsAffected > 0);
});
});

最佳答案

当您将 newPassword 作为数字传递时出现此错误。因此,最好将 newPassword 作为字符串传递,或者您可以将 newPassword 转换为字符串,如 newPassword.toString()

例子。

  let newPassword = newPassword.toString();

bcrypt.hash(newPassword, numSaltRounds, function(err, hash) {});

关于node.js - data 必须是字符串,salt 必须是 salt 字符串或轮数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56372420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com