Archiver Securing SQLite Data without using Encryption on iPhone

Posted by Redrocks on Stack Overflow See other posts from Stack Overflow or by Redrocks
Published on 2009-10-01T23:52:00Z Indexed on 2010/04/24 22:43 UTC
Read the original article Hit count: 286

I'm developing an iphone app that uses Core Data with a SQLite data store and lots of images in the resource bundle. I want a "simple" way to obfuscate the file structure of the SQLite database and the image files to prevent the casual hacker/unscrupulous developer from gaining access to them. When the app is deployed, the database file and image files would be obfuscated. Upon launching the app it would read in and un-obfuscate the database file, write the un-obfuscated version to the users "tmp" directory for use by core data, and read/un-obfuscate image files as needed.

I'd like to apply a simple algorithm to the files that would somehow scramble/manipulate the file data so that the sqlite database data isn't discernible when the db is opened in a text editor and so that neither is recognized by other applications (SQLite Manager, Photoshop, etc.)

It seems, from the information I've read, that I could use NSFileManager, NSKeyedArchiver, and NSData to accomplish this but I'm not sure how to proceed. Been developing software for many years but I'm new to everything CocoaTouch, Mac and iPhone. Also never had to secure/encrypt my data so this is new.

Any thoughts, suggestions, or links to solutions are appreciated.

© Stack Overflow or respective owner

Related posts about iphone

Related posts about sqlite