【发布时间】:2018-02-15 16:01:24
【问题描述】:
我以前在登录和注册功能中有如下代码:
var crypto = require('crypto');
... ...
this.hash = crypto.pbkdf2Sync(password, this.salt, 1000, 64).toString('hex');
而且我已经注册了用户。
昨天更新了npm,现在报错:
events.js:182
throw er; // Unhandled 'error' event
^
TypeError: The "digest" argument is required and must not be undefined
at pbkdf2 (crypto.js:635:11)
at Object.exports.pbkdf2Sync (crypto.js:628:10)
at model.UserSchema.methods.validPassword (/opt/myapp/models/Users.js:35:23)
at /opt/myapp/config/passport.js:16:23
at model.Query.<anonymous> (/opt/myapp/node_modules/mongoose/lib/model.js:3745:16)
at /opt/myapp/node_modules/kareem/index.js:277:21
at /opt/myapp/node_modules/kareem/index.js:131:16
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
那么有人知道我应该向crypto.pbkdf2Sync 提供什么digest 参数吗?我希望注册的用户/密码仍然有效。
【问题讨论】:
-
您可以使用
require('crypto').getHashes()获取支持的摘要算法数组