objective-c - 加密核心数据

标签 objective-c ios encryption

我正在尝试加密我的核心数据。

正如另一个问题中所建议的,我已经阅读了 Nick Harris 的以下帖子 https://nickharris.wordpress.com/2010/07/14/core-data-and-enterprise-iphone-applications-protecting-your-data/ .

首先,在我的设备上,我在设置中打开了我的密码。

然后在我的 appDelegate 中,当我创建我的 persistentStoreCoordinator 时,我将以下属性 NSFileProtectionComplete 添加到我的核心数据存储文件中,据我所知,这意味着当设备被密码锁定时,我的核心数据应该被加密或不可访问.

NSDictionary *fileAttributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete forKey:NSFileProtectionKey];
 if (![[NSFileManager defaultManager] setAttributes:fileAttributes ofItemAtPath:[storeURL path] error:&error]) {
        NSLog(@"Cant encrypt");
    }

然而,完成所有这些后,即使设备密码已锁定,我仍然可以使用 iExplorer 访问应用程序沙箱和包含 .sqllite 文件的文档文件夹,我可以将整个文件放到桌面上并完整查看未加密。

我是不是漏掉了什么??

最佳答案

以防万一有人感兴趣,我想通了为什么我愚蠢地认为我的问题中提到的苹果提供的加密不起作用.... 我在我的 CoreData 文件上打开加密并测试我只是试图使用 iExplorer 从我的设备中获取 .sqlLite 文件。它似乎正在访问该文件,因为 .sqlLite 文件是使用我的 sqlLite 浏览器打开的。然而,它实际上并没有打开设备中的最新文件,而是打开了文件的缓存版本...

关于objective-c - 加密核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761427/

相关文章:

security - 使用 Rfc2898DeriveBytes 从明文密码创建安全密码时盐的重要性

c - XOR 加密适用于不在 Visual Studio 2017 上的代码块

ios - NSUndoManager removeAllActionsWithTarget 崩溃

iphone - 检测口语 - iPhone

iphone - 如何从UIAlertView更改键盘颜色

ios - iOS推送通知消息

ios - 如何导航 UIViewController 作为以编程方式创建的 UIButton 操作的目标

ios - 如何在 swift 3 中将 AVPlayer 从 4 秒循环到 8 秒?

http - HMAC 256 与 HMAC 512 JWT 签名加密

iphone - 发布对象是否必要?