何よりもまず、パスワードをハッシュする方法(salt / bcryptなど)を尋ねていないことを繰り返したいと思います。私が行った他のすべてのプロジェクトでは、常にパスワードをハッシュ/ソルトしましたが、この場合、一時的にパスワードを取り戻す必要があります。
基本的に、パスワードをDBに保存してから、再度アクセスできるようにする必要があります。codeigniter(私が使用しているフレームワーク)では、mcryptとキー(32文字の長さである必要があることを示唆しています)を使用します。これで十分でしょうか?
編集:
質問の理由:ミッションクリティカルな機密性の高いPDFをユーザーに送信できる必要があり、ユーザーをパスワードで保護する必要があります(理想的には同じパスワードを使用)。
SOとオフの人々と話し合った結果、パスワードを暗号化してはならず、常にハッシュ/ソルトするべきではないという結論に達しました。異なるサービスに同じパスワード/電子メールを使用する人の数を考えてみてください。したがって、アイテムを暗号化する必要がある場合は、別のPINまたはその他の必須ではないアイテムを使用する必要があるという結論に達しました。
ただし、ピンルートを使用してパスワードをハッシュ化したままにするつもりですが、理論的にこの問題をどのように処理するかについては、依然として非常に興味があります。