gpt4 book ai didi

iphone - 如何加密 iPhone 上的 CoreData 内容

转载 作者:行者123 更新时间:2023-12-03 18:11:28 25 4
gpt4 key购买 nike

我想在 iPhone 应用程序上静态加密存储一些信息。我是 iPhone 开发新手,对 CoreData 以及它如何与 View 集成不太熟悉。我的数据为 JSON,但我可以轻松地将其放入 SQLITE3 数据库或任何其他支持数据格式中。我将采用 (a) 加密和 (b) 与 iPhone View 层集成最简单的方法。

每次启动应用程序时,用户都需要输入密码来解密数据。加密的目的是防止用户丢失手机时无法访问数据。

出于速度原因,我更愿意一次加密和解密整个文件,而不是加密数据库每行中的每个单独字段。

注意:这与 Question 929744 的想法不同。 ,其目的是防止用户弄乱或查看数据。使用时数据应该完全透明。

另请注意:我愿意使用 SQLCipher存储数据,但更愿意使用 iPhone/CoreData 框架上已经存在的东西,而不是经历冗长的构建/集成过程。

最佳答案

您可以通过将核心数据模型实体中的各个属性设置为 transformable properties 来对其进行加密。 ,然后创建一个 NSValueTransformer 子类,它将加密和解密该属性的数据。虽然这不是您正在寻找的整个数据库解密,但它比将整个数据库解密到内存中的内存占用要低得多。此外,它允许延迟解密,而不是预先全部完成,因此您的应用程序加载速度会更快。根据所使用的加密,我什至预计用于加载每个实体的磁盘数据访问将比属性的解密过程慢,因此在访问属性时您不会看到太大的性能损失。

像这样的可转换属性非常容易使用,因为您可以像平常一样读取和写入它们,而加密/解密则在幕后进行。

关于iphone - 如何加密 iPhone 上的 CoreData 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1645007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com