iOS核心数据加密

use*_*687 13 encryption core-data ios

我一直在使用Apple的一个文档中提供的'SecKeyWrapper'类来加密核心数据字段.SecKeyWrapper类是非ARC的.我想知道这是否仍然是加密核心数据字段的最佳方式,还是有更新/更好的解决方案?

谢谢

que*_*ish 28

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

对于为iOS 5.0或更高版本构建的应用程序,持久性存储现在默认以加密格式将数据存储在磁盘上.在用户首次解锁设备之后,默认保护级别将阻止访问数据.您可以在配置持久性存储时通过为NSPersistentStoreFileProtectionKey键分配自定义值来更改保护级别.有关iOS 5.0中新增的数据保护的其他信息,请参阅"数据保护改进".

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

例:

NSDictionary *storeOptions = @{NSPersistentStoreFileProtectionKey  : NSFileProtectionComplete};

if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[self storeURL] options:storeOptions error:&error]){
     [self presentError:error];
 }
Run Code Online (Sandbox Code Playgroud)