ユーザーパスワードを保存および確認するための正しい手順を読んでいて、塩について少し困惑しています。
レインボーテーブルなどのツールの使用を防ぐためのものだと思いますが、ソルトをハッシュと一緒に保存するという考えは、潜在的なセキュリティ上の問題のように思えます。私の好みでは、1 つの場所にあまりにも多くのデータがあります。
私が人々に実行させたいと思っているアイデアは、「ラッキー ナンバー」を使用して、パスワード ハッシュの一部からソルトを作成することです。基本的に、パスワードを選択するとともに、ユーザーは「ラッキー ナンバー」も選択します。この数値は、ハッシュされたパスからソルトを取得するための開始インデックスとして使用されます。
したがって、非常に基本的な例は次のようになります。
Pass = "Password"
Lucky Number = "4"
Pass Hash = "00003gebdksjh2h4"
Salt Length = "5"
Resulting Salt = "3gebd"
私の考えでは、「ラッキー ナンバー」を保存する必要がないため、salt の計算にも時間がかかり、攻撃がさらに困難になります。プラスは、わずかに少ないデータを保存することを意味します。