2017-11-20 1 views
0

私は、アセットフォルダに静的データベースを持つAndroidアプリケーションを開発しています。私はSQLiteAssetHelperクラスを使用してデータベースからデータを取得しています。ユーザーはこのデータベースに何も書き込むことはできません。私のDBファイルを暗号化するには?

DBファイルを暗号化して、誰もアクセスしてデータを取得できないようにします。どうすればこれを達成できますか?

+0

これを明確にするために、ユーザーのデバイス上のDBに書き込んだ後、そのデバイスを所有しているユーザーがそこに保存しているデータにアクセスできないように暗号化する必要がありますか? :P –

+0

私は静的なデータとテーブルを持つDBを持っています。私はアセットフォルダにDBファイルを挿入し、SQLiteAssetHelperを使用してデータを取得しています。だから、私は挿入されたDBファイルを暗号化しなければなりません。そうすれば、誰かがリバースエンジニアであれば、apk cantはファイルを開くことができなくなります。 –

+0

友達、それを可能にする方法はありますか? –

答えて

0

これにはライブラリがあり、過去に使用しました。 SQLCipherといい、Android用のバインディングを持っています(hereを参照)

復号鍵の保存方法には注意してください。理想的には、あなたはapp apkにキーを保存しませんが、ユーザーが最初にアプリケーションを開くとバックエンドからキーを取得します。

+0

ユーザーはhttps://www.charlesproxy.com/のようなものを使ってキーを傍受することはできませんでしたか?暗号化しようとしているのと同じデバイスに復号鍵を直接公開することになります。 –

+0

私はこのトピックを読んでいましたが、これはSQLiteAssetHelperクラスで動作しますか? –

+0

SQLiteAssetHelperを拡張する(SQLCipher)データベースを暗号化する方法はありますか?すべてのソリューション? –

関連する問題