私はジャーナルWebアプリを開発しており、最大の問題として私が予測していることに取り組んでいます。他の人のエントリを読まないように信頼しています。私がこれまでに持っている解決策は次のとおりです。
- ユーザーは、ログインするたびに秘密鍵を提供します。ユーザーデータと一緒に保存されることはなく、セッションの存続期間中のみ保持されます。
- ユーザーが書き込む各エントリは、このキーを使用して暗号化されます。同様に、エントリを開こうとすると、このキーを使用してエントリが復号化されます。
- 間違ったキーが入力された場合、指定されたエントリはジバーリッシュとして返されますが、これにより、ユーザーは必要に応じて異なるキーでエントリを保存できます。
キーを記録しないという信頼が私にありますが(後で同じコードを特徴とするシングルユーザーバージョンを配布したいと思っています)、これを行うためのより一般的な方法があるか、どこかでこの考え方に欠陥があります(私はセキュリティや暗号化についてあまり知識がありません。md5/ sha1 / blowfishの理解が不安定な場合もあります)。これはこれを行うための最良の方法ですか?