你如何在iPhone应用程序中获得密钥?
我有一个客户端应用程序使用的API密钥,并且不希望任何人看到它,只有应用程序应该能够读取它.
1)如何在我的应用程序中安全地存储它?将它存储到变量中?够好吗?
2)如果有人解密我的申请会怎么样?(那可能吗?)
这里有很多问题,所以让我一次回答一个问题:
你如何在iPhone应用程序中获得密钥?
我假设您正在尝试从应用程序的用户那里获取它.除非您使用可信计算平台,即这是不可能的.可以信任的平台不从它的主人服从命令(有时也被称为奸诈计算这个原因).据我所知,iPhone不是这样一个平台.
我有一个客户端应用程序使用的API密钥,并且不希望任何人看到它,只有应用程序应该能够读取它.
如果您的应用程序可以读取它,那么运行您的应用程序的平台的所有者也可以读取它.(例外情况是可信计算平台 - 见上文.)
如何在我的应用程序中安全地存储它?
你不能.
将它存储到变量中?
你可能会.
够好吗?
没有.
如果有人解密我的申请会怎么样?
然后他得到你的钥匙.
那可能吗?
是.
如果您不希望用户知道您的密钥,请不要首先将其提供给他们.设置应用程序将连接到的代理服务器并保留您的秘密.
有一句老话说,除非知道不超过两个人,否则每个秘密都必须像公共知识一样对待.这也适用于软件.