将NSFileProtectionComplete与Core Data一起使用时,性能有多大?

时间:2016-05-04 08:45:47

标签: sqlite core-data realm

我目前正在比较iOS的多个数据持久性框架。 我们得到的一个重要要求是可以加密我们正在使用的数据。使用Realm时,可以选择使用加密,效果达到10%,因为您可以阅读here

使用Core Data时,基本上有3种加密数据的方法

  • 使用iOS级别数据保护
  • SQLCipher
  • 可转换的解密

我更愿意使用文件管理器上的 NSFileProtectionComplete 选项加密iOS数据保护级别的数据。

我的问题是:

使用iOS级加密时的性能影响有多大?那里有没有统计数据,或者您是否经历过性能大幅下降?这里对你的经历非常感兴趣。

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

使用iOS级加密时性能影响有多大?

这对基准测试来说是一件好事。就像Realm的10%开销数一样,您的里程将根据您的工作类型,读取与写入的数量,数据库的大小,设备的存储控制器等而有所不同。

我怀疑Apple已尽最大努力减少NSFileProtection加密的开销,如果它接近Realm的10%数字会感到惊讶。

除了微观基准测试的数字之外,您应该更关注每种方法的特性和局限性。

例如,NSFileProtectionComplete不允许您在设备锁定时访问文件,而SQLCipher和Realm的加密允许您只要拥有加密密钥就可以访问它。此外,如果您将文件导出iOS,NSFileProtection不会在那里应用,那么如果您需要导出加密文件,则应使用SQLCipher或Realm的加密。