同様の質問を見ましたが、要件を満たしていません。
ときどき Web サービスから更新する必要があるアプリがあります。データには、url、説明、タイトルなどのフィールドが含まれます。200k から 400k エントリまで。これはローカルで使用され、このデータの検索は頻繁に実行されます (ユーザーのアクティビティによって異なります)。
ユーザーがデータにアクセスできないようにする必要があり、検索はできるだけ迅速に行う必要があります。100% 読み取り不能にする方法はないことはわかっています。すべてをリバース エンジニアリングして解読することができます (暗号化キーを電話に保管する必要があります)。私の目標は、できるだけ難しくすることです。
選択肢はほとんどありません。1. サーバーでデータを暗号化し、バイナリ ファイルとして電話に送信します。必要に応じて毎回復号化します。 2. データもファイルとして送信します。読み取り、ローカル データベースに保存 3. JSON (おそらく暗号化) として取得し、データベースまたはファイルに保存
JSON を使用すると、ローカル データとリモート データの差分の更新を簡単に実装できるという利点があります。
また、データベースについての質問があります。すべてのエントリを暗号化して保存し、何かを検索するたびに復号化する必要がありますか? 電話のパフォーマンスに影響を与える可能性があります。
もう 1 つの可能な保護層があります。それは、暗号化キーを動的にすることです。1 日 1 回サーバーからキーを取得し、保存されているデータを再暗号化すると、翌日にキーが変更されます。しかし、それはオーバーヘッドだと思います。そうでない場合は教えてください。
どのオプションを選択しますか? より良い解決策はありますか?
PS データベースは毎日更新されます。
ありがとう