我有这个应用程序,我向用户显示了许多预定义的字符串。但是,我想保护它们免受我的.ipa整体复制。似乎我不能使用PLists,XML等来存储它们,因为它们很容易被snoops读取。知道如何有效地模糊它们吗?
答案 0 :(得分:1)
使用您想要的任何加密并在运行时解密字符串?如果有人找到钥匙仍然可读,但会使问题更多。
答案 1 :(得分:0)
使用Rob Napier的RNCryptor库使用AES加密它们。
他在博客中解释了如何:Properly encrypting with AES with CommonCrypto:
NSData *iv;
NSData *salt;
NSError *error;
NSData *encryptedData = [RNCryptManager encryptedDataForData:plaintextData
password:password
iv:&iv
salt:&salt
error:&error];
Rob的高级iOS books看起来很有前途。我没有关系,说实话。
关键是您无法在设备上存储加密密钥。相反,请考虑使用用户的密码作为密钥。用户经常选择不良密码,因此首先将其传递给哈希函数。
当用户登录时,通过相同的哈希函数运行密码并解密数据。