1

Blowfish では、ハッシュからソルトを抽出できるため、ソルトを保存する意味は何ですか?

$hash = crypt($password, $salt);

使用できるハッシュを取得するには

substr($hash, 0, 28)

また

substr($hash, 0, 29)

ただし、ドットがソルトからのものなのか、ハッシュされたパスワードからのものなのかはわかりません。

4

1 に答える 1

0

「虹のテーブル」の攻撃をより難しくするために、ソルト値が使用されます。ランダムソルトがなければ、パスワードは常に同じハッシュを生成します。これらのハッシュでいっぱいのパスワードデータベースを「取得」できれば、たとえば最も使用されている上位 100 個のパスワードの既知のハッシュを簡単にチェックできます。ソルトを使用すると、もちろんそれらも試すことができますが、ソルトごとにハッシュ関数を呼び出す必要があり、ブルートフォース攻撃を困難にするためにハッシュ関数が「遅く」なるように設計されているため、これには多くの時間がかかります。

于 2013-07-21T22:17:09.787 に答える