gpt4 book ai didi

node.js - Bcrypt 非法参数 : number

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:07 25 4
gpt4 key购买 nike

我在使用 bcrypt 时遇到问题,但不知道为什么。这是我的基本注册路线代码:

const express = require('express');
const router = express.Router();
const bcrypt = require('bcryptjs');
const passport = require('passport');

// Register
router.post('/register', function(req, res){

req.checkBody('username', 'Username is Required').notEmpty();
req.checkBody('kingname', 'Kingdom Name is Required').notEmpty();
req.checkBody('email', 'E-Mail is Required').notEmpty();
req.checkBody('password', 'Password is Required').notEmpty();
req.checkBody('password2', 'Passwords do not match').equals(req.body.password);

var errors = req.validationErrors();

if(errors) {
res.render('index', {
errors: errors
});
} else {
var newUser = {
username: req.body.username,
kingname: req.body.kingname,
email: req.body.email,
password: req.body.password,
password2: req.body.password2
}

bcrypt.getSalt(10, function(err, salt){
bcrypt.hash(newUser.password, salt, function(err, hash){
if(err) {
console.log(err);
}
newUser.password = hash;
let post = {username: newUser.username, password: newUser.password, email: newUser.email, kingname: newUser.kingname};
let sql ='INSERT INTO users SET ?';
let query = db.query(sql, post, function(err, res){
if(err) {
console.log(err);
return;
} else {
user_id = res.insertID;
console.log('Last User ID', res.insertID);
console.log('User registration successful...');
res.redirect('/');
}
});
});
});
}
});

module.exports = router;

现在我收到的错误是这样的:

Error: Illegal arguments: number
at Object.bcrypt.getSalt (/home/kogadmin/www/node_modules/bcryptjs/dist/bcrypt.js:339:19)
at /home/kogadmin/www/routes/reg.js:30:10
at Layer.handle [as handle_request] (/home/kogadmin/www/node_modules/express/lib/router/layer.js:95:5)
at next (/home/kogadmin/www/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/kogadmin/www/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/kogadmin/www/node_modules/express/lib/router/layer.js:95:5)
at /home/kogadmin/www/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/home/kogadmin/www/node_modules/express/lib/router/index.js:335:12)
at next (/home/kogadmin/www/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/home/kogadmin/www/node_modules/express/lib/router/index.js:174:3)

这就是为什么我有点困惑。错误看起来是说 10 是非法参数,但事实并非如此,我已经从他们的文档中确保语法是正确的。

最佳答案

我很确定应该是这样

genSalt(10, function() {})

看起来您有一个拼写错误:)

关于node.js - Bcrypt 非法参数 : number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783413/

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