純粋に Windows ベースの C# で記述された Winform アプリケーションがあります。Web モジュールはなく、Web ドメイン名も登録されていません。ソフトウェアは完成しましたが、パスワード回復と呼ばれる別の機能を組み込む必要があります。私はこのようなことに慣れていないので、助けてください。私はそれを難しく保ちたくありません。ユーザーが自分のパスワードを忘れた場合に、「パスワードを忘れた?」と押すだけで済むようにしたいだけです。ログイン画面のハイパーリンクとパスワードは、彼の電子メール アカウントに電子メールで送信されます。この機能を実現するにはどうすればよいですか? 私の電子メールが「source@gmail.com」で宛先電子メールが「destination@gmail.com」であることを考慮したコード例を教えてください
2 に答える
user1932945が言ったように、実際のパスワードは絶対に保存しないでください。代わりに、パスワードをハッシュして、ランダムに生成された番号(キー)をパスワードの最後に追加する必要があります。次に、新しいパスワードをハッシュします。最後に、ハッシュされたパスワードをキーと一緒に保存します。次に、ログイン時にパスワードを取得し、保存されている場所からキーを取得して、パスワードに再度追加し、ハッシュしてから、保存したハッシュパスワードと比較します。
パスワードを忘れた場合は、パスワードをリセットする方法をメールで送信する必要があります。彼らがそれをリセットするとき、あなたは新しいパスワードを保存するために私がすでに述べたステップに従います。
パスワードを誰かに電子メールで送信しないでください。これは、パスワードを保存していることを意味しますが、決して行ってはなりません。代わりに、ユーザーがパスワードをリセットできるようにする必要があります。
これを行う方法は、winform アプリでパスワードのリセットをトリガーするコードを電子メールで送信することです。リセット コードは、要求に応じて winform アプリによって生成され、電子メールが受信されるまでメモリに保存される GUID である可能性があります。