【发布时间】:2015-07-08 12:49:15
【问题描述】:
我正在阅读meanjs的源代码,我的问题是带有代码的hashPassword方法:
UserSchema.methods.hashPassword = function(password) {
if (this.salt && password) {
return crypto.pbkdf2Sync(password, this.salt, 10000, 64).toString('base64');
} else {
return password;
}
};
这里我不明白为什么它返回密码,以防 this.salt && 密码为假?据我了解,这是一个问题,也许它应该停止保存用户,对吧?
【问题讨论】:
-
这在我看来确实是一个错误的实现。如果盐初始化不正确,我希望它会触发错误。正如它所写的那样,您能做的最好的事情就是在哈希之前和之后检查
===。用于密码保护的服务器端模块会如此简洁,这也让我很困扰。 -
在下面查看我的答案。仅将这一段代码作为上下文,实现看起来确实有问题,但从整体上看,并非如此。
标签: angularjs hash passwords meanjs