答案 0 :(得分:9)
实现对用户数据的附加保护是一个非常好的主意,特别是当应用程序处理用户的财务信息,安全注释,密码,e.t.c时。默认情况下,数据库未加密。它唯一的保护形式是它是从其他应用程序中沙箱化的。
为此,您可以使用以下方法之一:
NSDictionary *storeOptions = @{ NSPersistentStoreFileProtectionKey : NSFileProtectionComplete };
[coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:storeOptions error:&error])
NSFileProtectionComplete
- 文件以加密格式存储在磁盘上,在设备锁定或启动时无法读取或写入。SQLCipher
。它是SQLite
的开源扩展,提供透明的256位AES加密。pod 'SQLCipher'
sqlcipher_export()
。 Example