niran
niran

Reputation: 1980

NodeJs Crypto error -Object has no method pbkdf2Sync

I am using nodeJS Crypto Module to encrypt password.

Sample code:

crypto.pbkdf2Sync(password, salt, 200, 64).toString('base64');

But I am not sure, whenever I call this method, following error shown

TypeError: Object # has no method 'pbkdf2Sync'

Please let me know what is the issues

Thanks all

Upvotes: 0

Views: 1768

Answers (1)

apsillers
apsillers

Reputation: 115990

pbkdf2Sync was added to the Crypto module in version 0.9.3.

You can either upgrade your installation of Node to 0.9.3 or higher, or you can use the asynchronous version of the function, crypto.pbkdf2, which requires a callback.

If your previous code looked like

var result = crypto.pbkdf2Sync(password, salt, 200, 64);
var encodedResult = result.toString('base64');
doStuff(encodedResult);

Then the asynchronous code might look like:

crypto.pbkdf2Sync(password, salt, 200, 64, function(err, result) {
    var encodedResult = result.toString('base64');
    doStuff(encodedResult);
});

This is merely an example; a full discussion of sychronous versus asynchronous operations is vastly outside the scope of this question. One good overview of the topic is How do I return the response from an asynchronous call?

Upvotes: 1

Related Questions