メモ/ステッカー/アラーム/電話帳を作成し、db4o(埋め込み)を使用してオブジェクトを.dbファイルに保存するアプリケーション(Amnesia)があります。Java Classオブジェクト暗号化/復号化およびオブジェクトデータベース
私がやっていることは、データを保護するために暗号化/復号化を追加することです。私がしたいことのプロセスを説明しましょう:
初めてアプリケーションをインストールして実行すると、パスフレーズが尋ねられます。次に、そのパスフレーズを使用して、データベースの最初の初期化時に作成されたデモ・データと、後で実行されるすべてのエントリの暗号化/復号化が行われます(最初にデータベースがない場合は実行されます)。デモデータが入力されます)。
ユーザーがアプリを開くたびに、パスフレーズが入力されます。ユーザーがパスフレーズを入力すると、アプリケーションはデータベースからの読み取りを試み、データを復号化します。復号化に失敗した場合は、ユーザが「間違った」(最初に使用したものとは異なる)パススルーを入力したことを意味し、アプリケーションは終了します。
私はこれが可能かどうか質問したいと思いますか? Googleでの検索では、文字列のようなオブジェクトの暗号化/復号化が見つかっただけで、他のオブジェクトの場合は、唯一のチュートリアルでは例をシリアル化していました。データベースへの呼び出しが非常に頻繁に行われるため、保存または読み取りがデータベースに行われるたびに(すべてのシリアライゼーションの例のように)ファイルからデータをエクスポート/インポートする必要はなく、un生産することができます)。
オブジェクトが書き込まれる(保存される)たびに単純な暗号化が行われ、オブジェクト/クラスが.dbファイル(埋め込みdb4o)からクエリ/取得されるたびに復号化されます。
これはできますか?
(私の他の選択肢は、.iniのような外部ファイルを使用して暗号化されたユーザーパスワードを保存し、アプリが起動するたびにユーザーの入力でパスワードを確認することですが、それははるかに安全です)
パスワードの 'md5'(または他の暗号化)を.dbに保存するのはどうですか? –
@SérgioMichels、MD5は暗号化アルゴリズムではありません。残念ながらdoesntのがあることを持っているように見える –
Sé[email protected]、ヴァッシュは正しいですが、返信に感謝:) – George