我如何实施安全的本地存储?
目前使用钥匙串存储小块数据(即密码),但据我所知,Keychain并不适用于存储较大的数据。
我希望存储的数据示例是具有各种不同属性的NSDictionary类型的消息。
基本上我正在寻找一种在本地但安全地缓存或存储数据的方法。
也许最好找一种自己加密数据的方法?
有没有人对这种方法有什么建议?
答案 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)