アプリのテスト中に、ユーザーがパスワードを忘れた場合にアプリケーション内にアクセスする機能がないことが確認されました。
これを発見すると、次のようなパスワード生成手法を実装しました。 1. ユーザー情報を使用して特定の文字列を作成します。2. 文字列に SHA1 を適用する 3. SHA1 ハッシュの一部をパスワードとして取得する
上記のアルゴリズムは、サーバー側とデバイス側の両方に適用されます。そのため、相互作用する必要はありません。したがって、ユーザーがパスワードを忘れた場合でも、サーバーにリクエストできます。サーバーは上記のアルゴリズムを実行し、生成されたパスワードをユーザーの電子メールに送信します。デバイス側では、同じアルトを使用して同じパスワードが生成されます。したがって、ユーザーが入力すると一致し、ユーザーにアクセス権が付与されます。
パスワードを生成するために同じ文字列を使用しているため、どういうわけか私はこれに満足していません. そのため、ユーザーがパスワードを忘れて生成するたびに、同じパスワードが取得されますが、これはパスワード ジェネレーターの動作とは異なります。
そのため、変数になる文字列にさらに追加することを考えていましたが、サーバー側とデバイス側の両方で同じになります。オプションの 1 つは文字列で日付を使用することですが、サーバーが異なるタイム ゾーンのデバイスにある場合、サーバーは異なるパスワードを生成します。
これに対するより良い解決策はありますか?提案してください ...