核心数据数据加密
Posted
技术标签:
【中文标题】核心数据数据加密【英文标题】:Core Data data encryption 【发布时间】:2015-06-13 16:11:33 【问题描述】:据我了解,要为 Core Data 启用数据加密,设备需要启用/打开密码并将此密钥包含在 addPersistentStoreWithType
: 方法的可选字典中。我确实为我的设备启用了密码,并在项目中启用了此代码:
NSPersistentStore *store = [self.managedObjectContext.persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:self.storeURL
options:@ NSPersistentStoreUbiquitousContentNameKey : @"iCloudStore",
NSPersistentStoreFileProtectionKey : NSFileProtectionComplete
error:&error];
但是当我直接使用 Liya(从 Mac 应用商店下载)软件打开 sqlite 数据文件时,我能够看到 sqlite 数据库中的数据。我使用 iTunes 文件共享将 sqlite 数据库文件从我的设备保存到我的 Mac。
既然数据是加密的,难道我就不能直接使用 Liya 之类的工具来查看数据吗?
【问题讨论】:
【参考方案1】:加密仅适用于设备。您通过 iTunes 或 Xcode 从设备上复制的文件总是会被解密。当您将设备与 iTunes 配对时,它会在您的计算机上创建手机中所有加密密钥的副本。这是必要的,这样 iTunes 才能在您的手机被锁定时创建备份和同步。
【讨论】:
以上是关于核心数据数据加密的主要内容,如果未能解决你的问题,请参考以下文章