【发布时间】:2018-03-08 19:21:21
【问题描述】:
我正在查看 bcrypt 文档中的代码示例:
bcrypt.hash(myPlaintextPassword, saltRounds, function(err, hash) {
// Store hash in your password DB.
});
我不明白的是,如果我不知道盐,我该如何比较密码?
bcrypt.compare(myPlaintextPassword, hash, function(err, res) {
// res == true
});
经过阅读,我了解到hash 已经包含盐和成本。但如果是这样的话,一旦黑客获得了这个哈希值,他就已经可以使用彩虹表或其他东西来暴力破解密码?
单独存储哈希和盐是否更好?
这是一种安全的密码处理方式吗?
【问题讨论】: