1

ジェイルブレイクiPhoneでプリロードされたデータベースをダウンロードするのを防ぐ解決策はありません.
iPhone から SQLite DB を取得する方法はありますか?

唯一の方法は、プリロードされたデータベースを暗号化し(おそらく、検索する必要のない単一フィールド内のデータのみを暗号化する)、ビューがデータを表示する必要がある場合にのみ復号化することだと思います.
(もちろん、これはすべて個人キーを使用して)

誰かが正確に行う方法と、より良い解決策があるかどうかを知っていますか?
Core Data を使用していますが、NSString 属性を復号化できません。NSData のみを復号化できますが、暗号化されたテキスト文字列を含むデータ (BLOB) フィールドを持つ sqlite db を作成するのは簡単ではありません。

ありがとう!

4

1 に答える 1

0

多分私は解決策を見つけました!

このコードを iOS5 と iOS6 で試してみましたが、うまくいきました。これで、NSString を個人用キーワードで暗号化し、NSString を取得できます (AES256 および Base64 エンコーディングを使用)。実際には、コードを少し変更するだけで ARC を使用できます。

https://github.com/dev5tec/FBEncryptor.git

誰かがより良い解決策を見つけたら、ここに投稿してください。

最大の解決策として、FileMaker などから csv データの暗号化されたフィールドをエクスポートし、sqlite db にインポートする方法があれば非常に便利です。そのようにして、Core Data に sqlite db をプリロードできます。ビューを画面に表示する必要があるときに、アプリはフィールドを復号化できます。

于 2012-10-06T13:23:29.757 に答える