攻撃者は「許可」されます 塩を知るために-あなたのセキュリティは、塩の知識があってもそれがまだ安全であるように設計されなければなりません。
塩は何をしますか?
ソルトは、事前に計算された「レインボーテーブル」を使用してブルートフォース攻撃から防御するのに役立ちます。
ソルトは、攻撃者にとってブルートフォースを(時間/メモリの観点から)はるかに高価にします。
このようなテーブルの計算費用がかかり、通常、複数の攻撃/パスワードに使用できる場合にのみ実行されます。
すべてのパスワードに同じソルトを使用すると、攻撃者はそのようなテーブルを事前に計算してから、パスワードをブルートフォースしてクリアテキストにする可能性があります。 ...
ハッシュを保存するすべてのパスワードに対して、新しい(暗号的に強力な)ランダムソルトを生成する限り、問題はありません。
セキュリティをさらに強化したい場合
ハッシュを数回計算することができます(ハッシュなど)-これはそれほど費用はかかりませんが、ブルートフォース攻撃/「レインボーテーブル」の計算はさらに高価になります...しないでください自分で発明しないでください-そうするための実証済みの標準的な方法があります。たとえば、 http://enを参照してください。 wikipedia.org/wiki/PBKDF2
および
注:
このようなメカニズムを使用するのは、最近ではマンダトロリー 「CPU時間」(レインボーテーブルやブルートフォースなどの攻撃に使用可能)がますます広く利用できるようになっているため(たとえば、Amazonのクラウドサービスは世界で最も高速なスーパーコンピューターのトップ50に含まれ、誰でも使用できるという事実を参照してください)比較的少量)!