我正在创建一个iPhone应用程序,因为我的所有内容都存储在sqlite数据库中。
现在总是存在越狱和其他垃圾邮件活动的威胁。因此,了解Mac / Windows可以使用某些软件直接访问应用程序目录。
所以我想保持我的数据库安全以及如果任何人应该修改/替换数据库,那么当我启动我的应用程序时,我应该使用代码来通知我对数据库进行一些更改。
对于iPhone,如何进行这项工作可以提出任何建议吗?任何教程或代码?
我将使用一些加密算法将数据存储在加密格式中,但如何保护SQLITE数据库不被修改我想知道。
提前感谢。
答案 0 :(得分:0)
你真的不能知道。
如果你想尽最大努力,你可以做一些事情,比如计算数据库的sha512或sha256校验和,并将其存储在另一个文件中,但它需要读<每个应用程序启动和关闭时,em>整个数据库,这可能不会让用户满意。这需要时间,而不仅仅是让SQLite3在读写方面发挥其魔力。
某人恶意也可以修改存储的校验和。 (如果他们可以访问程序的目标代码,那么很容易弄明白你是怎么做的,所以试图模糊假设的哈希检查程序是没有意义的。)
无论如何,这是他们的数据,对吧? :)所以如果他们想在幕后摆弄,让他们拥有它。您需要确保您在服务器上接受的任何输入都受到与接受来自Web浏览器的输入时相同的不信任。