我一直在使用苹果文档中提供的“SecKeyWrapper”类对核心数据字段进行加密。但是,这个类是非ARC的。我想知道是否仍然是加密核心数据字段的最佳方式,或者是否有更新/更好的解决方案可用?
谢谢
我一直在使用苹果文档中提供的“SecKeyWrapper”类对核心数据字段进行加密。但是,这个类是非ARC的。我想知道是否仍然是加密核心数据字段的最佳方式,或者是否有更新/更好的解决方案可用?
谢谢
在iOS 5及更高版本中,Core Data默认使用NSFileProtection来保护持久化数据。
如果您想修改Core Data存储的默认文件保护行为,可以在存储选项字典中将NSPersistentStoreFileProtectionKey键的值更改为不同的NSFileProtectionKey值。对于iOS 5.0或更高版本的应用程序,默认情况下,持久存储现在以加密格式存储在磁盘上。默认保护级别防止在用户第一次解锁设备之前访问数据。您可以通过为NSPersistentStoreFileProtectionKey键分配自定义值来更改保护级别,在配置持久存储时。有关iOS 5.0中新增的数据保护的其他信息,请参见“数据保护改进”。
NSDictionary *storeOptions = @{NSPersistentStoreFileProtectionKey : NSFileProtectionComplete};
if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:storeOptions error:&error]){
[self presentError:error];
}