我目前正在比较iOS的多个数据持久性框架。 我们得到的一个重要要求是可以加密我们正在使用的数据。使用Realm时,可以选择使用加密,效果达到10%,因为您可以阅读here
使用Core Data时,基本上有3种加密数据的方法
我更愿意使用文件管理器上的 NSFileProtectionComplete
选项加密iOS数据保护级别的数据。
我的问题是:
使用iOS级加密时的性能影响有多大?那里有没有统计数据,或者您是否经历过性能大幅下降?这里对你的经历非常感兴趣。
提前致谢!
答案 0 :(得分:2)
使用iOS级加密时性能影响有多大?
这对基准测试来说是一件好事。就像Realm的10%开销数一样,您的里程将根据您的工作类型,读取与写入的数量,数据库的大小,设备的存储控制器等而有所不同。
我怀疑Apple已尽最大努力减少NSFileProtection
加密的开销,如果它接近Realm的10%数字会感到惊讶。
除了微观基准测试的数字之外,您应该更关注每种方法的特性和局限性。
例如,NSFileProtectionComplete
不允许您在设备锁定时访问文件,而SQLCipher和Realm的加密允许您只要拥有加密密钥就可以访问它。此外,如果您将文件导出iOS,NSFileProtection
不会在那里应用,那么如果您需要导出加密文件,则应使用SQLCipher或Realm的加密。