私は最近、SHA256 を使用してソルト化されたパスワードのパスワード ハッシュを生成することを知りました。ソルト化されたパスワードとセキュリティについて少し読んだ後、.NETrfc2898derivebytes
のクラスを見ました。通常のハッシュ方法 (ソルトを生成し、ソルトされたパスワードを生成し、両方を db に保存する) よりもクラスpasswordderivebytes
を使用する利点はありますか?rfc2898derivebytes
質問する
2007 次
1 に答える
5
SHA256 などの標準ハッシュは、最新のハードウェアで非常に高速に生成できます。
これは一般的には良いことだと考えられていますが、欠点もあります。パスワードをクラックしようとする悪者は、これらのハッシュを非常に迅速に生成することもできます。つまり、ブルート フォースを使用して比較的簡単にパスワードを発見できるということです。
bcryptやPBKDF2 (aka )などのキー派生アルゴリズムは、標準のハッシュ アルゴリズムよりもRfc2898DeriveBytes
はるかに低速です。内部では標準のハッシュ アルゴリズム (この場合は SHA1) を使用しますRfc2898DeriveBytes
が、何千回も繰り返して派生キーを生成します。
したがって、あなたのマシンは、反復的な鍵導出アルゴリズムを使用して「ハッシュ」を生成するためにさらに多くの作業を行う必要がありますが、パスワードを解読しようとする悪者も、さらに多くの作業を行う必要があります. これは良いことです。
このRfc2898DeriveBytes
クラスでは、使用する反復回数を指定できます(デフォルトは 1,000 だと思います)。使用する反復が多いほど、攻撃者がブルート フォースを使用してパスワードをクラックするのが難しくなります。
于 2012-11-15T10:38:12.710 に答える