OpenSSL は、探し始めるのに適した場所です。プレーン テキストのパスワードを暗号化するために使用できる非常に多くの安全な暗号化アルゴリズムをサポートしています。AES-256 または Twofish は、検討を開始するのに適したアルゴリズムです。3DES は、今日の標準にも十分対応できると考えられています。
セキュリティを強化するには、各ユーザーのパスワードを異なるキーで暗号化する必要があります。つまり、各ユーザーには一意の暗号化キーがあり、すべてのパスワードに 1 つのキーを使用するわけではありません。これは、ユーザーがサイトで使用するユーザーのパスワードのハッシュである可能性がありますが、多くの場合、ユーザーのパスワードは強力ではなく、サイトやサービスのパスワードを忘れると、暗号化キーも失われます。
最大限のセキュリティを確保するには、暗号化キーをどこにも保存しないでください。ユーザーがパスワードを使用してログインすると、パスワードに基づいてメモリ内に暗号化キーを生成できます。理想的には、パスワードの単なるハッシュではなく、何らかの変換アルゴリズムを介して適用されるパスワードです。
それができない場合は、暗号化されたユーザー パスワードを格納する物理サーバーとは別の物理サーバーに暗号化キーを格納する必要があります。暗号化キーを格納するサーバーには、アプリケーションだけがキーにアクセスできるように、データベースへのアクセスが非常に制御された、多くのセキュリティおよびアクセス制御機能が配置されている必要があります。
それに加えて、サードパーティのサービスで使用するために暗号化された形式のパスワードを保存できることをプライバシー ポリシーで開示する必要があります。
それが役立つことを願っています。 OWASPには、これから行うことに関連するその他の役立つ情報が含まれている場合があります。