【发布时间】:2013-03-08 08:13:32
【问题描述】:
我对数据加密一无所知,所以我开始work with this code
我做过任何事情,如果我加密一些NSData并直接解密NSData,它就可以正常工作。但是很难理解这段代码是如何工作的。如果有人能帮助我,那就太好了。
我会在CoreData 中存储一些加密的NSData 并从CoreData 加载它以解密它,但如果我这样做,我会得到这个输出:
2013-03-19 15:31:07.197 En-Decrypt+CoreData[2603:c07] +[RNCryptManager AESKeyForPassword:salt:] 中的断言失败,/Users/main/Desktop/En-Decrypt+CoreData/En-解密+CoreData/RNCryptManager.m:110 2013-03-19 15:31:07.198 En-Decrypt+CoreData[2603:c07] 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法为密码创建 AES 密钥:-1”
我已经上传了sample xcode project here
感谢您的帮助
【问题讨论】:
-
错误消息表明您正在为您正在调用的方法的至少一个参数提供垃圾。你需要弄清楚为什么。您没有提供足够的信息让其他人找出原因。也许你没有存储价值?也许你没有正确读回来?也许您在尝试调用此方法之前阅读了它,但不知何故损坏了它?它可以是任意数量的东西。
-
请注意,RNCryptManager 已被 RNCryptor 取代,它提供了额外的安全保护。它会自动为您管理 IV 和 Salt。 github.com/rnapier/RNCryptor
标签: ios objective-c core-data encryption nsdata