2012-03-17 28 views
0

データ構造をiOSアプリケーションのCore Dataで使用されるSqliteファイルに隠す最善の方法を見つけるためにこのスレッドを検索しています。私はエンドユーザーからデータを保持したいという欲求に対処する多くの疑問を見つけましたが、私は主にデータ構造を保護することに興味があります(そして、二次的に、ユーザーがデータを乱さないようにします)。私は現在Dropboxを使って自分のアプリのSqliteファイルをバックアップしています。誰でもファイルを開いてデータ構造を見ることができます。私の新しいアプリでは、これまでのところうまくいきましたので、私はまだDropboxを使いたいと思います。エンドユーザーがデータベースファイルを開くことはできません。私はアプリがファイルをアップロードまたはダウンロードできるようにしたい。Dropboxに保存されているsqliteファイルのデータ構造をパスワード保護で保護する

ファイル全体の暗号化が過剰であるように見えますが、構造にもっと関心があるため個々のフィールドを暗号化したくありません。私は、パスワード保護/暗号化について尋ねたいくつかの投稿を見たことがありますが、通常は回答が暗号化に対処しており、パスワード保護に関して多くのことを見つけることができませんでした。

1)CommonCryptoはフィールドレベルの暗号化に最適で、おそらく私が探しているものではありません。 2)OpenSSLとSQLCipherはデータベースを暗号化しますが、パフォーマンスが低下することがあります(私にとっては過度の攻撃かもしれません)

SQLiteファイルのパスワード保護を提供する簡単な方法はありますか?コアデータ?私はアプリ内にパスワードを保存しなければならないことに気付きました。これはハッカーにとってかなり簡単になりますが、これで大丈夫です。私は自分自身(データ構造まで)とエンドユーザ(彼らがデータを混乱させたり混乱させることがないように)のための1つの特別なレベルの保護を提供するつもりです。

+1

のDropboxに入るバックアップファイルとあなただけの心配はありますか?その場合、単にアーカイブを圧縮してパスワードで保護しないのはなぜですか? – Rog

+0

@Rog、私はそれを行う方法がわかりません。 iOSでそのためのAPIはありますか? – SAHM

+0

私は現在ZIPArchiveを使用しています。軽量で、シンプルで効果的な、パスワード保護機能を備えたzipファイルもサポートしています。 http://code.google.com/p/ziparchive/ – Rog

答えて

1

DropboxにバックアップしているSqliteファイルのみに関心がある場合は、ZipArchiveのような軽量のファイルを使用してファイルを保存してから、ファイルを圧縮して保護することができます。

http://code.google.com/p/ziparchive/

乾杯、

Rogメール

+0

ありがとう、完璧に働いた。私はアプリにパスワードを保存することが最善のアイデアではないことを知っているが、そこにそれを保存しなければならないので、それを保存するための最良の場所に関する提案はありますか?私はビューコントローラーのプレーンテキストと同じように考えていましたが、より良い提案があればそれを聞いてみたいと思います。 – SAHM

+0

おそらくbase64でエンコードされたバージョンを格納し、zip/unzipする必要があるときにデコードするメソッドを使用します。 Googleで目的とするc base64エンコーディングのデコードの良い例がいくつかあるはずです。それを過ぎているかもしれない;) – Rog

関連する問題