为使用 Bcrypt 和护照登录的 Node.js 应用程序创建用户信息的 JSON 文件(MongoDb 集合)
Creating a JSON file(MongoDb Collection) of User Info for a Node.js application that uses Bcrypt and passport for login
我会尽量把这个问题说得简短明了。我有一个 node.js 项目,它使用猫鼬连接到 MongoDB 的非本地实例。我已经为用户编写了使用护照模块登录的代码。我创建了一个 JSON 文件作为用户集合。当我登录时出现此错误
throw "Not a valid BCrypt hash."
所以,如果我只想创建一个 JSON 用户文件来处理这个问题,我该怎么做呢?我的最终目标是将 RDBMS 转换为 MongoDB。刚从用户 table 开始。我知道如果我要注册新用户,我可以创建一个函数来散列他们的密码,例如
newUser.password= createHash(password)
var createHash = function(password){
return bCrypt.hashSync(password, bCrypt.genSaltSync(10), null);
}
或类似的东西。摘要:如何为 MongoDB 创建一个 JSON 用户信息文件,它可以与 bcrypt 哈希和护照一起使用?
var fs = require('fs');
var bc = require('bcrypt-nodejs')
fs.readFile('users.txt',function(err,data){
var x = [];
if(err) throw err;
var buf = new Buffer(data);
x = buf.toString();
x = JSON.parse(x);
//console.log(x);
for(var a in x){
x[a].password=createHash(x[a].password);
}
x = JSON.stringify(x);
fs.writeFile('users.txt',x,callback()); //or just push directly to db?
});
var createHash = function(password){
return bc.hashSync(password, bc.genSaltSync(10), null);
}
function callback(){
console.log('finished');
}
刚刚读入我的用户信息,加密了密码并创建了一个新文件。放在 Mongo 中。希望这对其他人有帮助。如果有人对我有更好的解决方案,我将不胜感激。
我会尽量把这个问题说得简短明了。我有一个 node.js 项目,它使用猫鼬连接到 MongoDB 的非本地实例。我已经为用户编写了使用护照模块登录的代码。我创建了一个 JSON 文件作为用户集合。当我登录时出现此错误
throw "Not a valid BCrypt hash."
所以,如果我只想创建一个 JSON 用户文件来处理这个问题,我该怎么做呢?我的最终目标是将 RDBMS 转换为 MongoDB。刚从用户 table 开始。我知道如果我要注册新用户,我可以创建一个函数来散列他们的密码,例如
newUser.password= createHash(password)
var createHash = function(password){
return bCrypt.hashSync(password, bCrypt.genSaltSync(10), null);
}
或类似的东西。摘要:如何为 MongoDB 创建一个 JSON 用户信息文件,它可以与 bcrypt 哈希和护照一起使用?
var fs = require('fs');
var bc = require('bcrypt-nodejs')
fs.readFile('users.txt',function(err,data){
var x = [];
if(err) throw err;
var buf = new Buffer(data);
x = buf.toString();
x = JSON.parse(x);
//console.log(x);
for(var a in x){
x[a].password=createHash(x[a].password);
}
x = JSON.stringify(x);
fs.writeFile('users.txt',x,callback()); //or just push directly to db?
});
var createHash = function(password){
return bc.hashSync(password, bc.genSaltSync(10), null);
}
function callback(){
console.log('finished');
}
刚刚读入我的用户信息,加密了密码并创建了一个新文件。放在 Mongo 中。希望这对其他人有帮助。如果有人对我有更好的解决方案,我将不胜感激。