在Swift中保护本地存储?

时间:2015-11-17 11:24:10

标签: ios swift caching local-storage

我如何实施安全的本地存储?

目前使用钥匙串存储小块数据(即密码),但据我所知,Keychain并不适用于存储较大的数据。

我希望存储的数据示例是具有各种不同属性的NSDictionary类型的消息。

基本上我正在寻找一种在本地但安全地缓存或存储数据的方法。

也许最好找一种自己加密数据的方法?

有没有人对这种方法有什么建议?

1 个答案:

答案 0 :(得分:5)

您可以通过使用任何加密算法加密将NSDictionary保存为localStorage中的json文件

AES是常用的加密算法,它有一个很好的包装器,称为RNCryptor

https://github.com/RNCryptor/RNCryptor

 var data = NSkeyedArchiver.archiveRootObject(yourDictionary)
 let password = "Secret password"
 let ciphertext = RNCryptor.encryptData(data, password: password)
 ciphertext.writeToFile(yourPath , atomically:true)