【发布时间】:2017-02-03 09:22:43
【问题描述】:
我将所有CoreData 和NSUserDefault 值存储在以编程方式创建的cdb 存储文件中,并将其上传到用户的iCloud 以备份他的数据。因此,他可以从任何设备恢复他的数据。
由于cdb 存储文件包含一些敏感数据,并且该文件可以从iCloud 复制到计算机并且可以使用一些sql 浏览器打开,因此我想在备份之前以某种方式加密文件并在恢复时解密。我想知道有什么方法或工具可以做到这一点。
【问题讨论】:
-
为什么不使用任何加密/解密算法,如 AES 128,256 等。您可以参考 Apple 文档 Cryptography concepts in Depth 了解更多详情
-
很多,一定要问用户密码才能使用
-
是否可以使用 AES @DipenPanchasara 加密文件?
-
是的,它可以使用 AES,但是小文件只有大文件会在应用程序中产生内存问题,为什么要加密/解密整个文件而不是表的属性?更好地加密数据库实体中的特定信息,而不是加密所有内容,这将减少不必要的操作,添加额外的安全层,创建带有密码保护的文件。
-
更多,CoreData支持内置加密功能,使用
NSPersistentStoreFileProtectionKey加密文件。查看this blog for File Protection 的更多详细信息。检查这个sample for coredata encryption using SQLCiper on github.
标签: ios objective-c core-data encryption