パスワードをデータベースに保存する方法の 1 つは、次の方法によるものだと読みました。ユーザー名、ハッシュ、ソルトの列を持つデータベーステーブルを作成します。塩は決して表示されません。
パスワード + ソルトでハッシュを生成します。パスワードはユーザーによって送信され、データベースには保存されません。生成されたハッシュがデータベースに格納されているものと同じであれば、パスワードは正しいです。
しかし、私には疑問があります。パスワードを送信すると、有線で送信中に盗聴される可能性があるため、通信も暗号化する必要があると思います。では、ハッシュとソルトを使用するのは、管理者からデータを保護するためだけですか? つまり、パスワードをデータベースに保存すると、管理者はすべての情報に簡単にアクセスできます。ハッシュを保存すると、管理者はユーザーの情報にアクセスできません。なぜなら、管理者は情報の半分を持っておらず、ソルトだけでパスワードを持っていないからです。ただし、ユーザーはパスワードを送信する必要がありますが、これは誰かに盗聴される可能性があるため、パスワードが公開されます。
ユーザーの情報を保護する最善の方法は?
ありがとう。