はい、ソルティングは、パスワードがプレーンテキストに逆変換されるのを防ぐためのものです。また、「暗号化されたパスワードはサイトAでもサイトBでも同じであるため、ユーザーは両方の場所で同じパスワードを使用している」と誰かが言うのを防ぎます。
これは、ユーザーをハッカーから保護するためだけのものではありません。それはあなたから彼らを守ることでもあります。
はい、パスワード推測に対する唯一の防御策は、繰り返しの試行を遅くするか、許可しないことです。ほとんどのCAPTCHAは壊れたり壊れたりする可能性があり、生のデータベースのコピーを持っている人にCAPTCHAを課したり制限を推測したりすることはできません。したがって、暗号化されたデータでさえ悪意のある個人の手に渡らないようにしてください。.htpasswdまたは/etc/shadowファイルまたはデータベースにそれらを配置しないでください。
ソルトを使用していない場合は、非常に強力なパスワードを直接推測するよりも、レインボーテーブルを(事前に)生成する方がはるかに簡単です。重要なのは、逆マッピングハッシュ->パスワードの作成を1回実行でき、(無塩の)ハッシュはレインボーテーブルを所有している人には永久に破壊されるということです。
プロバイダーが侵害された場合、コードにインジェクションの脆弱性がある場合、DBユーザーアカウントのパスワードが推測された場合、プロバイダーがeBayを使用して3つの(ワイプされたと推定される)ハードドライブを売却した場合、データベースがハッキングされる可能性があります。その上にあるデータベースの1年前のコピー...それは多くの方法で発生する可能性があります。