または:多数のユーザーのために暗号化されたデータを保存する方法は?
確かに、それはばかげた質問です。この用語がすでに示しているように、秘密鍵は1人だけに制限されています。しかし、私には次のシナリオがあります。
ユーザーTomは、データベースに暗号化して保存する必要のあるデータを入力します。ユーザーは、この情報をジムとボブが利用できるようにすることを決定します。ユーザーのJohnとJayneは、それを復号化できないようにする必要があります。もちろん、サーバーをハッキングし、暗号化されたデータと暗号化/復号化を行うスクリプトにアクセスできるユーザーTimも対象外です。
PHPのopenssl_public_encrypt関数を使用した公開鍵/秘密鍵のアプローチは、2人のユーザーがデータを復号化するためにその「秘密」鍵を持っている必要があるため、ここでは機能しないと思います。
これはかなり一般的な質問だと思いますが、重要な場合は、PHP(およびMySQL)で実行する必要があります。