我想用pbkdf2Sync方法加密密码。我的nodejs版本是0.12.7。默认情况下,应该有带pbkdf2Sync方法或randomBytes的加密模块,但是会发生TypeError:对象#没有方法'pbkdf2Sync'。我也试过npm install crypto,但它没有帮助。看起来加密模块不存在。
我的用户模型的代码段:
var crypto = require('crypto');
UserSchema.methods.setPassword = function (password) {
this.salt = crypto.randomBytes(16).toString('hex');
this.hash = crypto.pbkdf2Sync(password, this.salt, 1000, 64).toString('hex');
};
来自similar topic的解决方案不起作用。