我将Node.js版本从6.9.x
升级为8.10.0
。我注意到有些用户无法使用旧密码登录。我检查了原因,似乎8.10.0
我的旧代码现在生成另一个哈希。
我确信这个问题与其中一行(可能是两行)有关:
this.salt = Buffer.from(crypto.randomBytes(16).toString('base64'), 'base64');
或者
return crypto.pbkdf2Sync(password, new Buffer(this.salt, 'base64'), 10000, 64, 'sha1').toString('base64');
我读过Buffer
和crypto
API中有一些更改,但无法找到确切地为我带来这些问题的原因。
如何更改我的代码,以便输出与Node 6.9.x版本相同的哈希值?