将 API 密钥放在哪里?清单中的资源、元数据还是静态变量? [复制]
Posted
技术标签:
【中文标题】将 API 密钥放在哪里?清单中的资源、元数据还是静态变量? [复制]【英文标题】:Where to put the API key? Resources, Meta-data in Manifest or static variable? [duplicate] 【发布时间】:2015-05-01 21:52:33 【问题描述】:我正在尝试找出将 API 密钥添加到我的 android 应用程序的最佳做法。
-有些人建议在Manifest.xml
文件中使用meta-data
- link。这让我觉得,最好在resources
文件中添加密钥。
<meta-data android:value="key_value" android:name="api_key"></meta-data>
-有人说,加到resources
-link
<string name="api_key">api_key_value</string">
-我们可以简单的在类代码中添加它
api.configue("api_key_value");
-有人说在Manifest.xml
和resources
文件中添加密钥将允许其他应用程序读取它-link。
<string name="foo">bar</string">
我并不是想找到最好的安全方式,因为对我来说,我会将密钥保存在我的服务器中并在运行时检索它。
我问的是要遵循的最佳方法和最佳实践。
提前致谢。
【问题讨论】:
***.com/questions/14570989/… 试试这个 【参考方案1】:我没有回答这个问题,因为您似乎已经确定了如何处理 API 密钥(在服务器中)。
一篇关于 Android 中可能隐藏的 API 密钥的精彩文章: http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/
在您的情况下,由于您要在运行时从服务器检索密钥,我会按照文章中的 #4: API key Public/private key exchange,但它可以是麻烦。
另外,我会考虑 NDK 方法(文章中的#3)。作为客户端方法,它非常简单。
【讨论】:
以上是关于将 API 密钥放在哪里?清单中的资源、元数据还是静态变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 curl 从 mailchimp 获取数据我在哪里将 api 密钥放在 curl 调用中
Fabric 不接受 @string/... 在 manifest.xml 中对其 API 密钥的引用