【发布时间】:2013-12-18 16:18:43
【问题描述】:
我正忙着为 iPhone 和 iPad iOS7 编写一个商业电子单词词典类型的应用程序。应用程序的价值实际上在于我工作多年的数据库,而不是应用程序本身。数据库非常大(在转换为 SQLLite 之前在 Windows 计算机上为 195mb),我想知道保护其中数据的最佳方法是什么,以便应用程序可以读取它但其他人无法读取/获取它。似乎大多数移动开发人员都使用 SQLLite,但可以使用普通的十六进制编辑器轻松读取数据。
从这个论坛和其他论坛中,我了解到 SQLCipher 是一个很好的工具。我的问题是 SQLCipher 似乎对数据库进行了加密,然后在需要在临时文件中读取它时对其进行解密,然后再对其进行加密。如果是这种情况,我有两个问题。
- 数据库非常大,每次都解密并再次加密会使应用程序变得非常慢。
- 什么可以阻止黑客读取/复制解密的 (temp) 文件,即使是很短的时间也是如此?
我是否了解 SQLCipher 的工作正常,如果是,是否有任何其他工具/方法来加密/保护数据库,以便程序仍然可以使用 SQL 查询读取它,而无需以任何方式轻松获得数据,或任何您可能还有其他建议?
谢谢
【问题讨论】:
标签: ios database encryption protection sqlcipher