在iOS上安全保存数据的最佳方法?

时间:2014-06-11 09:53:49

标签: ios objective-c security core-data save

我的细节是关于小(至少1 KB)的数据 例如,我有游戏统计数据(高分,所有其他统计数据,游戏,赢了,...),我需要保存它,但我不希望该用户可以编辑(破解)该数据。

这是我到目前为止的工作流程:
(会有一些代码,因为我觉得代码是最好的解释)

  1. 我制作GameStatistic对象,即单身。
  2. 当我调用save方法时,它会执行以下操作:
    1. NSData* encodedData = [NSKeyedArchiver archivedDataWithRootObject: self]
    2. [encodedData writeToFile:[GTN_GameStatistics filePath] atomically:YES];
    3. NSString* checksum = [KeychainWrapper computeSHA256DigestForData: encodedData];
    4. 然后我将checksum保存在KeyChain
  3. 所以基本上我使用SHA256中保存的KeyChain校验和作为解决方法来解决问题。

    我可以以某种方式改善它吗?

    我从未使用过核心数据,但我知道它有某种加密方式 使用核心数据加密或我目前的解决方案更好吗?

    更新
    NSUserDefault无法回答。
    NSUserDefault基本上只是Library / Preferences中的plist文件 所以任何人都可以改变它,例如用户可以使用iFunBox,并改变一切。

    我熟悉NSUserDefault,我只是将它用于我不在乎的数据,如果用户要在我的应用程序之外更改它。
     喜欢将游戏声音设置为ON或OFF。

0 个答案:

没有答案