1

次の方法で、iPhone にコア データを含むインメモリ データ ストアを作成したいと考えています。

  • ストアのデータは暗号化されたファイル (最大サイズ 400kb) でディスクに保存されます
  • 暗号化されたファイルはメモリに完全にロードされ、その後、メモリ内にデータ配列を作成するために復号化します
  • NSPersistentStoreCoordinator使用したいストアであるこのデータ配列を使用するように伝えたいです。
  • コードの特定のポイントで、メモリ内の現在のデータ ストアが別のデータ配列にコピーされ、暗号化されてディスクに保存されるため、ディスク上のデータは常に最新バージョンのデータに対応します。

データは機密性の高いユーザーデータであり、プレーンなデータベースには絶対に保存できないため、そうする必要があります。

私のアプリでは、管理対象オブジェクトの各プロパティが暗号化されているバージョンを既に実装しており、ディスクに保存されている sqlite データベースには暗号化された読み取り不可能な値のみが含まれています。残念ながら、その場で毎回すべてを暗号化して復号化するには遅すぎることが判明しました。

最初に:これは可能ですか?第二に、私が注意を払う必要があることがいくつかありますか?

4

1 に答える 1

0

これが役立つかどうかはわかりませんが、iOS5の永続ストアでは、データを暗号化された形式でディスクに保存するようになりました。これはiOS4のオプションでもあります。ドキュメントを参照してください。

iOS 5.0以降用に構築されたアプリケーションの場合、永続ストアはデフォルトでデータを暗号化された形式でディスクに保存するようになりました。デフォルトの保護レベルでは、ユーザーがデバイスのロックを初めて解除するまで、データにアクセスできません。永続ストアを構成するときにNSPersistentStoreFileProtectionKeyキーにカスタム値を割り当てることにより、保護レベルを変更できます。iOS 5.0の新機能であるデータ保護の詳細については、「データ保護の改善」を参照してください。</ p>

于 2011-12-16T19:45:58.580 に答える