【发布时间】:2016-10-21 22:25:06
【问题描述】:
您好,我即将编写一个应用程序,使我能够将远程文件存储在 iPhone 的本地磁盘上,以使数据永久保存在文件中并对其进行操作。但我对此有疑问。顺便说一句,我不知道加密数据。
那么,如果有任何 iPhone 黑客通过越狱破解并访问我的本地文件?在这种情况下,我想使用加密。但我错过了一些东西。我的 json 文件包含很长的纯文本,例如 100,000 个单词。因此,如果我现在应用 Github 上的 CryptoSwift 库,使用 AES 和 NSDATA 我的计算机就会被卡住来加密它。
let plain = "mylongtextfromfile".dataUsingEncoding(NSUTF8StringEncoding)
let key: Array<UInt8> = [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
let iv: Array<UInt8> = AES.randomIV(AES.blockSize)
let encrypted: NSData = try! plain!.encrypt(ChaCha20(key: key, iv: iv)!)
print(encrypted)
let decrypted: NSData = try! encrypted.decrypt(ChaCha20(key: key, iv: iv)!)
let string1 = NSString(data: decrypted, encoding: NSUTF8StringEncoding)
print(string1)
我还注意到,Apple 不想使用与内置 API 不同的其他加密库。 Itunnes 连接策略需要应用程序的扩展验证过程。 我想请教各位专家,我必须做什么。我不希望用户与任何移动服务后端、API 或服务器交互以下载单词并在用户每次想要使用单词时查询它们。
我需要使用什么来保持流程快速。实际上有没有办法只加密文件本身,除非数据在。或者我面临的错误是什么。
真诚,
【问题讨论】:
标签: objective-c swift security encryption