NodeJs Crypto error -Object has no method pbkdf2Sy

2020-02-15 08:07发布

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

1条回答
一夜七次
2楼-- · 2020-02-15 08:56

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?

查看更多
登录 后发表回答