ソルトとは

パスワードをハッシュ値に変換する際に、パスワードに付与するランダムな文字列のこと。
レインボーテーブル攻撃や辞書攻撃、総当たり攻撃など、事前に準備されたハッシュ値では推測できないようにするために使用されている。
ソルトを毎回同じ固定値で設定している場合、推測可能性が高まるため、ソルトは固定値ではなく、ユーザー毎にランダムな値で生成することが望ましいとされている。

ストレッチングとは

ハッシュ値への変換を何度も行うことにより、一回の攻撃に対する時間を延長することができ、総当たり攻撃などが時間内に完了することができないようにする手法である。
ストレッチングは回数が多いほど安全性が高まるが、その分サーバーの負担が増えてしまう。