楽しいプロジェクトとして、認証用の SASL メカニズム、特に PLAIN と DIGEST-MD5 をサポートしたいと考えています。
私の質問は、これら 2 つの認証方法をサポートする必要がある場合、ユーザーのパスワードを安全に保存するにはどうすればよいですか?
PLAIN認証のみを使用すると、非常に簡単になります。パスワードをbcryptに保存し、bcrypt_compare関数を使用して、ユーザーが送信したパスワードと保存されたpwを比較するだけです。
しかし、DIGEST-MD5 も可能である必要がある場合、パスワードを安全に保存するにはどうすればよいでしょうか? 計算された応答全体を保存し、それを PLAIN 比較にも使用する必要がありますか? それとも何か他の方法がありますか?
//編集:「楽しい」プロジェクトについて。現時点では楽しいプロジェクトですが、ある時点で楽しくないプロジェクトになるかどうかは誰にもわかりません. 楽しいプロジェクトだからといって、セキュリティを下げたくありません..