【问题标题】:Secure local storage in Swift?在 Swift 中保护本地存储?
【发布时间】:2016-02-18 18:02:29
【问题描述】:
如何实现安全的本地存储?
目前使用钥匙串来存储小块数据(即密码),但是,据我所知,钥匙串不适用于存储更大的数据。
我要存储的数据示例是具有各种不同属性的 NSDictionary 类型的消息。
基本上我正在寻找一种在本地但安全地缓存或存储数据的方法。
也许自己找到一种加密数据的方法会更好?
有人对这种方法有什么建议吗?
【问题讨论】:
标签:
ios
swift
caching
local-storage
【解决方案1】:
您可以通过使用任何加密算法进行加密,将 NSDictionary 作为 json 文件保存在 localStorage 中
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)