本文介绍了iOS 核心数据加密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have been encrypting core-data fields using 'SecKeyWrapper' class provided in one of Apple's document. The SecKeyWrapper class is non-ARC. I'm wondering if this is still the best way to encrypt core-data fields or is there newer/better solution available ?

谢谢

推荐答案

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

In iOS 5 and later Core Data by default uses NSFileProtection to protect persisted data.

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

如果您想修改 Core Data 存储的默认文件保护行为,请更改键的值 NSPersistentStoreFileProtectionKey 到不同的NSFileProtectionKey 商店选项字典中的值.

If you want to modify the default file protection behavior for your Core Data store, change the value for the key NSPersistentStoreFileProtectionKey to a different NSFileProtectionKey value in your store options dictionary.

示例:

NSDictionary *storeOptions = @{NSPersistentStoreFileProtectionKey  : NSFileProtectionComplete};

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

这篇关于iOS 核心数据加密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 12:44