I am trying to authenticate user from server, using password created in Meteor by accounts-password and stored in DB. However passwords never match. What I am doing wrong?
var bcrypt = require('bcryptjs');
var crypto = require('crypto');
var raw_pass = 'my_pass';
var pass = crypto.createHash('sha256').update(raw_pass).digest('hex');
var encryptedPassword = bcrypt.hashSync(pass, bcrypt.genSaltSync(10));
bcrypt.compare(doc.services.password.bcrypt, encryptedPassword, function(err, result) {
if(result) {
console.log('OK');
}
else {
console.log(403);
}
});
Arguments for bcrypt.compare are 'plain string' and 'encrypted string'. So the right solution is: