我得到了这个应用程序,其中向用户显示了许多预定义的字符串。但是,我想保护它们不被我的 .ipa 整体复制。似乎我不能使用 PList、XML 等来存储它们,因为它们很容易被窥探读取。知道如何有效地掩盖它们吗?
问问题
138 次
2 回答
1
使用您想要的任何加密并在运行时解密字符串?如果有人找到了密钥,仍然可以阅读,但会增加一些问题。
于 2013-10-23T14:07:49.687 回答
0
使用 Rob Napier 的RNCryptor库使用 AES 加密它们。
他在他的博客文章中解释了如何使用 CommonCrypto 使用 AES 进行正确加密:
NSData *iv;
NSData *salt;
NSError *error;
NSData *encryptedData = [RNCryptManager encryptedDataForData:plaintextData
password:password
iv:&iv
salt:&salt
error:&error];
Rob 的高级iOS 书籍看起来很有前途。老实说,我没有关系。
关键是您不能将加密密钥存储在设备上。相反,请考虑使用用户的密码作为密钥。用户经常选择较差的密码,所以首先通过哈希函数传递。
当用户登录时,通过相同的哈希函数运行密码并解密数据。
于 2013-10-25T14:15:52.920 回答