パスワードのハッシュ生成時のsaltの意味

saltなしだと…

  1. 辞書攻撃(レインボーテーブル)が容易
  2. 同じパスワードだとわかる
    1. 同じシステムの異なるユーザー間で
    2. 異なるシステムのユーザー間で
  3. パスワードを変更したかどうかがわかる

みんなに同じsaltを使う

1はある程度は防げる。
ただし、十分に速いコンピュータを使えば、辞書攻撃はかなり容易。

ユーザー毎にsaltを変える(ユーザーIDとかそのハッシュとか)

2.1は防げる。

完全にランダムな値をsaltにする

2.2や3も防げる。