在我的 iOS4+ 应用程序中,我在多个地方使用 AES 加密,并且整个应用程序必须非常安全。为了做到这一点,我必须在此应用程序中硬编码几个 key ,然后在我需要加密某些内容时随机选择这些 key ...
我的问题是如何存储这些私钥?使用 NSString
对它们进行硬编码是否安全?或者
#define SecretKeyString @"febd9a24d8b65c1c787d50a4ed3619a9"
如果用户在安装了这个应用程序的情况下越狱 iPhone,他就不能得到那些硬编码的 key 吗?我怎样才能最有效地隐藏它们?
感谢任何建议...
最佳答案
其他应用程序所做的是要求用户先“登录”,然后才能使用该应用程序。然后,您使用他们的用户 ID/密码作为 key 来加密 key ,或使用安全的 Web 服务获取该用户的 key 。
如果您使用 #define
甚至 NSString,则有多种方法可以猜测键。显然,您必须真正愿意花费大量时间在编译代码中找到这些 key ,但根据您所寻找的安全级别和您要防范的人员,这可能是个问题。
关于iphone - 在 iOS 中保存加密 key 的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535114/