在我们的应用程序中,我们有几个 API key (也称为共享 key 或私有(private) key )。这些是运行时所需要的。至关重要的是,这些字符串永远不会落入除我/我的组织之外的任何人的手中。
尝试 1 - 什么都不做
NSString *privateKey = @"a6dedb6096973e4576e1dfc9d048075d;
如果有人得到这个应用程序并通过签名,他们可以在二进制文件上运行 strings
并轻松检索所有字符串。 (失败)
尝试 2 - 做点聪明的事
这就是你们这些 stackoverflow 人最擅长的地方。给我一些魔法!
最佳答案
为什么您的应用的每个副本都使用相同的私钥?
发送数据: 如果您的应用需要向您的服务器发送信息,它只需要您的公钥来加密数据。
接收数据(这是棘手的地方): 当应用程序安装在用户的设备上时,它应该生成自己的私钥/公钥对。然后它将公钥发送到您的服务器。 (看上面)。然后,每当服务器需要将数据发送回设备时,它就会使用设备的公钥对所述数据进行加密。因此只有该设备才能解密数据。
关键是,如果您在应用程序中放置一个已知的私钥,那有什么意义呢。
关于ios - 使用黑客永远无法访问的字符串/文本编译/提交 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21442535/