1

我得到了这个应用程序,其中向用户显示了许多预定义的字符串。但是,我想保护它们不被我的 .ipa 整体复制。似乎我不能使用 PList、XML 等来存储它们,因为它们很容易被窥探读取。知道如何有效地掩盖它们吗?

4

2 回答 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 回答