我正在构建一个 iOS 应用程序,用户使用 API key 向服务器发送请求。当我需要将此键作为源代码中的静态字符串时,问题仍然存在:
NSSTRING* secretAPIkey = @"12345secretKey";
我读过关于逆向工程,基本上有人可以查看你的源代码。
我的解决方案:
1.多个静态字符串,然后合并成一个
nsstring *1 = @"1";
nsstring *2 = @"2";
nsstring *complete [nsstring stringwithformat"%@%@",1,2];
and so on..
- 将其保存在 info.plist 中。
- 不确定钥匙串(keychain)是否对所有应用程序都是全局的,因为所有用户都需要相同的 API key 。
还有其他解决方案吗?最好的方法是什么?
Best Answer-推荐答案 strong>
如果您的应用需要互联网连接才能运行,那么您可以选择使用 https 和身份验证从网络服务器获取 API key ,并可选择使用证书固定来防止 MITM 攻击。
关于ios - 在源代码中隐藏 API key ,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/40322705/
|