在我的iOS4 +应用程序中,我在多个地方使用AES加密,整个应用程序必须非常安全。为了做到这一点,我必须硬编码在这个应用程序中的几个键,然后随机选择当我需要加密的东西...在iOS中保存加密密钥的安全方式
我的问题是如何存储这些私钥?使用NSString
对它们进行硬编码是否安全?或者
#define SecretKeyString @"febd9a24d8b65c1c787d50a4ed3619a9"
如果用户越狱iPhone安装了这个应用程序,他不能得到那些硬编码的密钥?我怎样才能最有效地隐藏它们?
感谢您的任何建议...
以及我不能使用登录关键信息,将是巨大的,虽然:)我需要有几个静态密钥,这将是硬编码。 ..但这可能是一个很好的解决方案 - 如果生病有5个密钥,其中4个将被加密,我将不得不用第一个密钥对它们进行解密,只有这样它们才会成为有效的密钥......没有人即使在编译后的代码中找到这些密钥,也能找到真正的密钥......谢谢!:) –
如果你真的对你的硬编码密钥是否可以读取有偏见,其中一个选项也是存储你的转换密钥。然后有一种方法将存储的密钥转换回真正的密钥。例如,一个简单的转换就是反向字符串。因此,如果您的密钥是ABC,那么您每次使用密钥时都需要对CBA进行硬编码并调用反向方法。当然,在真正的应用程序中,你会想要一些比仅仅反转更复杂的东西。只是一个额外的想法... – mprivat
确切...这样的事情听起来很真实...我没有偏执狂,我不认为它是一个巨大的问题,但我必须在工作中做它,他们是偏执狂:)再次感谢! –