【问题标题】:En-Decrypt NSData with RNCryptManager over CoreData在 CoreData 上使用 RNCryptManager 加密 NSData
【发布时间】: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


【解决方案1】:

在您需要保存saltiv 值的数据中。这是解密所必需的。 所以修改你的数据模型:

并使用加密数据保存saltiv

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多