iOS核心数据encryption

我一直在使用Apple文档中提供的“SecKeyWrapper”类来encryption核心数据字段。 SecKeyWrapper类是非ARC的。 我想知道这是否仍然是encryption核心数据字段的最佳方法,或者是否有更新/更好的解决scheme?

谢谢

在iOS 5和更高版本中, Core Data默认使用NSFileProtection来保护持久数据。

对于为iOS 5.0或更高版本构build的应用程序,持久性存储现在默认以磁盘上的encryption格式存储数据。 默认保护级别在用户第一次解锁设备之前阻止访问数据。 configuration持久性存储时,可以通过将自定义值分配给NSPersistentStoreFileProtectionKey键来更改保护级别。 有关iOS 5.0中新增的数据保护的更多信息,请参阅“数据保护改进”。

如果要修改Core Data Store的默认文件保护行为,请将NSPersistentStoreFileProtectionKey关键字的值更改为商店选项字典中的其他NSFileProtectionKey值。

例:

NSDictionary *storeOptions = @{NSPersistentStoreFileProtectionKey : NSFileProtectionComplete}; if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:storeOptions error:&error]){ [self presentError:error]; }