gpt4 book ai didi

api - 如何开源使用 API key 的应用程序

转载 作者:行者123 更新时间:2023-12-03 06:19:36 30 4
gpt4 key购买 nike

对于一个宠物项目,我开发了一个桌面应用程序,它需要来自多个不同网络服务的 API key 。

我一直在研究并准备将此应用程序开源,并遇到了如何处理这些 key 的问题。

问题是这样的:我的理解是,使用应用程序或查看/修改源代码的任何人都不应该看到这些 API key 。在 Web 服务端,这些 API key 用于识别访问其 API 的应用程序,并根据需要允许/阻止使用。在大多数接收这些 key 的 TOS 中,实际上明确指出不得与世界共享这些 key 。

目前我所有的 key 都是硬编码的,但对于如何处理开源应用程序中的私钥情况我陷入了僵局:

-如果 key 保持硬编码,一旦我的源代码发布,它们就会公开可见。

-从那时起,我真的无法省略带有代码分发中的 key 的源文件它不会编译。这在技术上解决了问题,但引入了新的、 Not Acceptable 一个。

-如果我将按键推到 .ini 或其他配置文件,并且只是不包含该文件在我的公共(public)代码存储库中,它仍然必须与我的应用程序的二进制文件一起分发才能使应用程序运行,因此我的 key 将在应用程序分发而不是源分发中可见。不是进步。我尝试在此 INI 文件上使用的任何加密操作都会增加任何试图修改我的代码的人的复杂性。

那么,对于我的代码库(目前在 Mercurial 下进行版本控制),管理所有内容的最佳方法是什么,以便代码可以公开,但我的 key 保持私有(private)?

最佳答案

不知道您使用的是什么语言,但例如在 C/C++ 中,您可以添加一个包含 API key 的包含文件,然后将其置于源代码控制之外,而是添加一个带有 的虚假文件明确伪造 API key 。大多数语言都有一种或另一种包含文件的方式。

关于api - 如何开源使用 API key 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1983990/

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