gpt4 book ai didi

android - 在 list 和源代码 android 中隐藏 API key

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:53 28 4
gpt4 key购买 nike

我有一个 Google MAPS API KEY,当您使用逆向工程反编译我的应用程序时可以很容易地看到它。这一点都不好。此外,我在通过字符串访问的源代码中使用了 Weather API KEY。

我找到了这个网站 https://medium.com/@cassioso/a-strategy-to-secure-your-api-keys-using-gradle-b9c107272860

想问问你这篇文章是否值得推荐或者你有更好的主意吗?

有没有人对这个问题有任何经验?

我正在使用 ProGuard,但 ProGuard 不会混淆 AndroidManifest(据我所知这甚至是不可能的)并且它也不会混淆任何 String API KEY(我不知道为什么)

我没有任何使用 DexGuard 的经验。

能否请您告诉我这个网站是否正常运行,或者您能否提供更多有关如何在 list 和源代码中隐藏 api key 的提示。

最佳答案

没有理由隐藏您的 API key 。它们直接从 list 中解析。本来是要评论的,不回答,但是评论太长了哈哈。所以我想我会发布作为答案。

为什么要隐藏 API key ? GMaps 和 Fabric 以及 Firebase 建议您直接放入您的 Manfiest 中。

您发布的网站只是将其放在 build.config 文件中。您还可以嵌套在环境变量中并使用 Gradle 将它们拉入,但这有什么意义呢。您仍在将它们拉入一个文件中,该文件将与 APK 一起生成和打包。如果您能解释您的推理,我很乐意帮助您找到隐藏 key 的方法。

如果确实有必要,您始终可以将其设为远程 API,以便首次提取并放入数据库中;如果确实需要确保安全,您可以使用 SQLCipher。一旦存储,您就可以在运行时动态加载。不过,我不知道当 SDK 从 list 中解析它时它的效果如何。

当您制作一个 SDK 从 list 文件解析您的 key 时,这是很常见的,因此如果它打算在运行时加载,SDK 必须支持它,而不是依赖于从 list 中解析它。

所以我的建议是将其作为普通可见 API key 保留在 list 中。该程序包对于您的应用程序是唯一的,SDK 将使用该程序包和可能的应用程序 secret 以及嵌套在 SDK 中的 key ,以确保所有调用都来自您的应用程序。回到我原来的问题。为什么需要隐藏 API key ?

关于android - 在 list 和源代码 android 中隐藏 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46553530/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com