I am have created a node library file called encrypt.js
.
Within that are some functions created using bcrypt-nodejs
var bcrypt = require('bcrypt-nodejs');
exports.cryptPassword = function(password, callback) {
bcrypt.genSalt(10, function(err, salt) {
if (err) return callback(err);
else {
bcrypt.hash(password, salt, function(err, hash) {
return callback(err, hash);
});
}
});
};
exportsparePassword = function(password, userPassword, callback) {
bcryptpare(password, userPassword, function(err, isPasswordMatch) {
if (err) return callback(err);
else return callback(null, isPasswordMatch);
});
};
When I now use cryptPassword
from my server.js
file it shows an error ing from the bcrypt-nodejs
library stating 'no callback function was given
'
I have added a function within my call as below
var encryptedPassword = encrypt.cryptPassword(req.body.user.password, function (err, salt){
if(err) {throw err};
console.log('hlllll');
});
Can anyone help?
I am have created a node library file called encrypt.js
.
Within that are some functions created using bcrypt-nodejs
var bcrypt = require('bcrypt-nodejs');
exports.cryptPassword = function(password, callback) {
bcrypt.genSalt(10, function(err, salt) {
if (err) return callback(err);
else {
bcrypt.hash(password, salt, function(err, hash) {
return callback(err, hash);
});
}
});
};
exports.parePassword = function(password, userPassword, callback) {
bcrypt.pare(password, userPassword, function(err, isPasswordMatch) {
if (err) return callback(err);
else return callback(null, isPasswordMatch);
});
};
When I now use cryptPassword
from my server.js
file it shows an error ing from the bcrypt-nodejs
library stating 'no callback function was given
'
I have added a function within my call as below
var encryptedPassword = encrypt.cryptPassword(req.body.user.password, function (err, salt){
if(err) {throw err};
console.log('hlllll');
});
Can anyone help?
Share Improve this question edited Jan 9, 2014 at 14:04 BENARD Patrick 31k16 gold badges102 silver badges108 bronze badges asked Jan 9, 2014 at 14:00 tjhacktjhack 1,0323 gold badges22 silver badges44 bronze badges3 Answers
Reset to default 13Syntax: bcrypt.hash(data, salt, progress, cb)
You must have two callbacks.
Document here:
https://npmjs/package/bcrypt-nodejs
Update:
You can use the package bcrypt
instead of bcrypt-nodejs
And your code will work:
bcrypt.hash(password, salt, function(err, hash) {
return callback(err, hash);
});
You can actually use bcyrpt-nodejs if thats what you prefer,but you have to edit the following section in bCrypt.js
if(!callback) {
throw "No callback function was given."
}
and replace it with
if(typeof callback == 'undefined') {
callback = progress;
progress = null;
}
then in your code, just have this;
require('bcrypt').hash(values.password,null,null,function passwordEncrypted(err,password){
use bcyrpt.pareSync instead of bcypt.pare. It doesn't require a callback