3

私は最近、SHA256 を使用してソルト化されたパスワードのパスワード ハッシュを生成することを知りました。ソルト化されたパスワードとセキュリティについて少し読んだ後、.NETrfc2898derivebytesのクラスを見ました。通常のハッシュ方法 (ソルトを生成し、ソルトされたパスワードを生成し、両方を db に保存する) よりもクラスpasswordderivebytesを使用する利点はありますか?rfc2898derivebytes

4

1 に答える 1

5

SHA256 などの標準ハッシュは、最新のハードウェアで非常に高速に生成できます。

これは一般的には良いことだと考えられていますが、欠点もあります。パスワードをクラックしようとする悪者は、これらのハッシュを非常に迅速に生成することもできます。つまり、ブルート フォースを使用して比較的簡単にパスワードを発見できるということです。

bcryptPBKDF2 (aka )などのキー派生アルゴリズムは、標準のハッシュ アルゴリズムよりもRfc2898DeriveBytesはるかに低速です。内部では標準のハッシュ アルゴリズム (この場合は SHA1) を使用しますRfc2898DeriveBytesが、何千回も繰り返して派生キーを生成します。

したがって、あなたのマシンは、反復的な鍵導出アルゴリズムを使用して「ハッシュ」を生成するためにさらに多くの作業を行う必要がありますが、パスワードを解読しようとする悪者も、さらに多くの作業を行う必要があります. これは良いことです。

このRfc2898DeriveBytesクラスでは、使用する反復回数を指定できます(デフォルトは 1,000 だと思います)。使用する反復が多いほど、攻撃者がブルート フォースを使用してパスワードをクラックするのが難しくなります。

于 2012-11-15T10:38:12.710 に答える