我正在开发一个iPhone应用程序,该应用程序将Core Data与SQLite数据存储和资源束中的大量图像一起使用。我想要一种“简单”的方法来混淆SQLite数据库的文件结构和图像文件,以防止偶然的黑客/不道德的开发人员访问它们。部署应用程序后,数据库文件和图像文件将被混淆。启动应用程序后,它将读取数据库文件并对其进行混淆处理,将混淆后的版本写入用户的“ tmp”目录以供核心数据使用,并根据需要读取/混淆文件。
我想对文件应用简单的算法,以某种方式对文件数据进行加扰/处理,以便在文本编辑器中打开数据库时,sqlite数据库数据无法辨认,从而其他应用程序都无法识别( SQLite Manager,Photoshop等)
从我阅读的信息看来,我可以使用NSFileManager,NSKeyedArchiver和NSData来完成此操作,但是我不确定如何进行。从事软件开发已经很多年了,但是我对CocoaTouch,Mac和iPhone还是陌生的。同样也不必保护/加密我的数据,因此这是新的。
任何想法,建议或解决方案的链接都将受到赞赏。
最佳答案
您可以使用gzip压缩文件。删除扩展名并删除文件的标头,然后,如果有人掌握了gzip压缩的数据库,很难猜测如何解密该文件。
当您想再次阅读时,请先附加gzip标头并解压缩。 gzip在iPhone上可用
关于iphone - 无需在iPhone上使用加密即可保护SQLite数据的Archiver,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1507096/