2017-09-27 9 views
0

不明であるため、ノードbcryptのハッシュは/仕事を比較しない方法:塩が、私はbcryptのドキュメント内のコードの例を見ていた

bcrypt.hash(myPlaintextPassword, saltRounds, function(err, hash) { 
    // Store hash in your password DB. 
}); 

私は理解していない、私は知らない場合、私は、パスワードを比較行う方法です塩は?いくつか読んだ後

bcrypt.compare(myPlaintextPassword, hash, function(err, res) { 
    // res == true 
}); 

、私はhashはすでに塩とコストが含まれていることを学びました。しかし、一度ハッカーがこのハッシュを取得した場合、彼はすでに虹のテーブルなどを使用してパスワードをブルートフォースできますか?

ハッシュと塩を別々に保存する方が良いでしょうか?

パスワードを安全に処理する方法ですか?

答えて

1

あなたは塩が提供するセキュリティを誤解しています。塩が攻撃者から秘密にされるという期待や意図はありません。攻撃者がハッシュされたパスワードを取得した場合、その塩も取得されます。しかし、彼らはまだ虹のテーブルや他の事前計算された攻撃を使用することから彼らが特定の塩を使用して生成された虹のテーブルを持っていないので、それらを防ぐことができます。もちろん、彼らはブルートフォース攻撃を行うことができますが、bcryptにはそれを困難にする他の機能があります。

関連する問題