SQLite 数据库安全和篡改

SQLite Database Security and Tampering

我只是想用 Whosebug 快速检查一下以确认我的怀疑。我正在创建一个应用程序并试图在 Swift 中使用 FMDB 来存储一些 data.I 我将这些数据视为 public 在我认为它可以被篡改的意义上(因此不受信任)。这是因为毕竟与 Web 应用程序不同,此应用程序在用户的设备上运行,因此他们可以访问 .sql 文件并更改数据库。

如果我想存储信息,比如用户购买了东西、解锁了某些武器,或者我不想以任何方式更改的其他数据,我不应该在用户设备上使用本地数据库。

您认为在这种假设下继续进行是正确且安全的吗?如果我 希望使用数据库来保存发生的重要事件,什么是好的方法?使用应用程序中的密钥加密,或者可能是哈希或其他东西?

如果您想保护您的数据库,FMDB 包含 SQLCipher, which you have to obtain separately. See the various FMDB Encryption Methods 的挂钩,您可以在项目中包含 SQLCipher 后使用这些挂钩。