2

SQLiteデータストアとリソースバンドル内の多くの画像でCoreDataを使用するiphoneアプリを開発しています。SQLiteデータベースのファイル構造と画像ファイルを難読化して、カジュアルなハッカーや悪意のある開発者がそれらにアクセスできないようにする「簡単な」方法が必要です。アプリがデプロイされると、データベースファイルと画像ファイルが難読化されます。アプリを起動すると、データベースファイルを読み込んで難読化を解除し、難読化されていないバージョンをユーザーの「tmp」ディレクトリに書き込んでコアデータで使用し、必要に応じて画像ファイルを読み取り/難読化解除します。

簡単なアルゴリズムをファイルに適用して、ファイルデータをスクランブル/操作して、データベースをテキストエディターで開いたときにsqliteデータベースデータが認識されないようにし、他のアプリケーションでどちらも認識されないようにします( SQLite Manager、Photoshopなど)

私が読んだ情報から、これを達成するためにNSFileManager、NSKeyedArchiver、およびNSDataを使用できるようですが、どのように進めるかはわかりません。長年ソフトウェアを開発してきましたが、CocoaTouch、Mac、iPhoneのすべてに慣れていません。また、私のデータを保護/暗号化する必要がなかったので、これは新しいことです。

考え、提案、または解決策へのリンクをいただければ幸いです。

4

1 に答える 1

4

gzipを使用してファイルを圧縮できます。拡張子を削除し、ファイルのヘッダーを削除します。そうすると、誰かがgzipで圧縮されたデータベースを入手した場合に、暗号化を解除する方法を推測するのはかなり困難になります。

もう一度読みたい場合は、gzipヘッダーを事前に付加して解凍します。gzipはiPhoneで利用できます

于 2009-10-02T03:40:59.860 に答える