ユーザーのパスワードをメールに送信できません。すべてが順調に進んでいますが、問題は、パスワードがハッシュされた md5 であり、パスワードをユーザーに送信すると、ハッシュされた md5 パスワードが元のものではないように見えることです。パスワードをハッシュ化したままオリジナルを送信したいのですが、 どうすればよいですか?
4 に答える
パスワードをデータベースに保存した後は、平文でパスワードを回復することはできません。パスワードを正確にハッシュして、それを真にします。ユーザーがパスワードを忘れた場合は、登録済みの電子メールへのリンクを送信してパスワードをリセットし、データベースの古いパスワードを上書きします。
この場合、SHA1 アルゴリズムを使用できます。MD5 では、エンコードはできますが、どのアルゴリズムを使用してもデコードできません。
md5 文字列をデコードすることはできません。したがって、最善の選択肢は、セキュリティの質問または同様の方法でユーザーを再度確認し、パスワードをリセットすることです。また、ユーザーが多くの場所で同じパスワードを使用している可能性があるため、これはより良い方法です。
または、自分でユーザーのパスワードをリセットすることもできます。ランダムな文字列または独自の文字列を使用してから、md5 でパスワードを更新します。次に、そのランダムな文字列または設定した文字列をユーザーに送信できます。
お役に立てれば
メールに送信された「特別な」リンクを使用してパスワードをリセットできるようにします。彼がそのリンクをクリックしたら、データベースを更新して、リンクをクリックしたことを伝えます (したがって期限切れになります)。その後、生年月日や入力した電話番号などの「リセット」の質問に答えさせます。または他の質問。
その後、彼に新しいパスワードを選択させます。これで完了です。