如何保护 Android apk 包中的 rapidapi 密钥
Posted
技术标签:
【中文标题】如何保护 Android apk 包中的 rapidapi 密钥【英文标题】:How to protect rapidapi secret key in Android apk package 【发布时间】:2020-06-29 15:08:13 【问题描述】:我正在为 android 设备开发 Python Kivy 应用程序。 在我的应用程序中,我使用 RapidAPI 密钥和主机详细信息连接到 API 并获取我在代码中进一步使用的数据。
您能否告诉我,当我打包应用程序时如何保护我的密钥,以免它暴露。
我还想知道如何从我的代码中删除此密钥依赖项,以确保每当我更新或重新生成不应影响已发布应用程序的现有版本的新密钥时。
headers =
'x-rapidapi-host': "xxxrapidapi.com",
'x-rapidapi-key': "xxx"
如果有任何好的方法或最佳实践,请帮助我提出建议。
【问题讨论】:
当您重新生成密钥时,如果 API 提供者删除了旧密钥,那么您的旧应用将无法访问它。 【参考方案1】:您必须创建自己的 API,或使用一些网络服务,这会将您的 API 密钥公开给您的应用。这样您就可以在后端更改您的密钥,而无需更新您现有的应用程序。因此,您将能够重新生成新密钥并在您的服务中更改它。但是,您必须自己实现此功能,从您的后端请求密钥的频率和频率取决于您。
您有很多选择,如果您想经常更改您的密钥,我建议您在每次向您的 Rapid API 请求之前请求密钥,或者在您的应用程序初始化期间每次都请求它并将其存储在共享偏好存储。使用后一个选项,如果您在用户使用时重新生成密钥,用户必须重新启动他的应用程序才能再次运行。
【讨论】:
嗨,我可以尝试将它们嵌入到一些本机代码中,如 C 或 C++ 并在我的程序中使用这些库。这是否有助于保护我的 API 密钥以上是关于如何保护 Android apk 包中的 rapidapi 密钥的主要内容,如果未能解决你的问题,请参考以下文章
如何解析 .apk 包中的 AndroidManifest.xml 文件
如何扫描Android APK依赖的Jar包中哪些文件包含指定字符