如何不在开放源代码项目的Visual Studio / C#代码中存储API密钥

姆加默兹

我正在将Microsoft的App Center与.NET Core 3 WPF应用程序配合使用。我不想将我的应用程序中心密钥直接存储在源代码中,因为我的软件是开源的。我正在使用Visual Studio,并且在Google上搜寻了一些方法,以免将API密钥直接存储在源代码中。我知道您不应该将它们存储在此处,但是在构建时,我需要使API密钥作为代码的字符串可访问,以便将其传递给方法调用。

我并不非常担心有人通过反汇编程序运行我的应用程序,但是我想挫败那些可能想比自己更多地闲逛的随便的人。在Visual Studio / c#中,我似乎找不到任何方法来做这样的事情。类似于#ReadFromFile(filepath)指令或可以读取文件内容并将其替换为编译时文件的内容。

有人知道做这种事情的方法吗?我已经看到了许多有关“如何永远不要做”的答案,但我实际上没有足够的资源去做很多事情。我只有一个相当简单的应用程序,该应用程序是开源的,并且使用API​​密钥。

林0815

我认为有3种可能的解决方案:

  1. 将密钥放在应用程序在启动时将读取的文件中,并将该文件从版本控制中排除。

  2. a)将密钥放入环境变量中。这是您对云应用程序执行的方式。(但是因为桌面应用需要使用它,所以PC上的每个程序都可以读取它们)

    b)如果您仅在Windows上工作,请将其放入Windows注册表中。(其他程序也可以这样做)

  3. 使用键作为参数调用您的程序。您可以创建批处理/ powershell(在Windows上)或bash(在linux上)脚本,也可以创建桌面快捷方式,这样就不必始终在终端上启动应用程序。

(此外,您还可以加密密钥,并在启动时要求用户输入密码。因此,即使其他应用程序可以读取您的密钥,它们也只有加密的数据。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何安全地开放Windows Store应用程序Visual Studio项目的源代码

来自分类Dev

开放源代码的android studio库项目,并允许其他人作为gradle依赖项包括在内

来自分类Dev

如何在Visual Studio 2005中从源代码打开项目

来自分类Dev

如何在Visual Studio中的项目之间共享C ++源代码文件?

来自分类Dev

如何从包含许多示例的教程存储库中构建代码(在 Visual Studio/C# 中)

来自分类Dev

是否可以在开放源代码项目中使用Google的API?

来自分类Dev

如何覆盖 Visual Studio Code 源代码

来自分类Dev

我可以在开放源代码项目中使用VTD-XML解析器并将其与开放源代码一起发布吗?

来自分类Dev

您可以在源代码管理中存储 Visual Studio 2013 项目模板吗?

来自分类Dev

在Android开放源代码项目中恢复不完整的下载

来自分类Dev

配置jenkins以将开放源代码项目发布到私有关系

来自分类Dev

如何使用我下载的Visual Studio编译C ++源代码

来自分类Dev

如何在使用开放源代码配方构建的HUB上安装Rappture Java绑定?

来自分类Dev

如何在源代码管理中存储Visual Studio的调试配置

来自分类Dev

在Visual Studio中运行源代码控制

来自分类Dev

Visual Studio 转储分析:如何找到从源代码管理中检索源代码的命令

来自分类Dev

恢复开放源代码库的详细版本控制

来自分类Dev

有没有快速开放源代码的portscanner?

来自分类Dev

100%开放源代码Linux发行版

来自分类Dev

使用开放源代码映射本地(如Charles Proxy)

来自分类Dev

在Visual Studio中做笔记,但不在源代码中做笔记

来自分类Dev

在Visual Studio中做笔记,但不在源代码中做笔记

来自分类Dev

Visual Studio不显示其中一个项目的C#代码建议

来自分类Dev

rake db:create尝试为开放源代码项目kandan创建db时给我一个错误

来自分类Dev

如何使Visual Studio 2013源代码管理忽略包目录

来自分类Dev

在Visual Studio中删除未使用的C#代码

来自分类Dev

Visual Studio Analyzer报告C#代码中的错误

来自分类Dev

Visual Studio Code中没有C#代码分析

来自分类Dev

我应该在开放源代码应用程序中发布我的Spotify API密钥吗?

Related 相关文章

  1. 1

    如何安全地开放Windows Store应用程序Visual Studio项目的源代码

  2. 2

    开放源代码的android studio库项目,并允许其他人作为gradle依赖项包括在内

  3. 3

    如何在Visual Studio 2005中从源代码打开项目

  4. 4

    如何在Visual Studio中的项目之间共享C ++源代码文件?

  5. 5

    如何从包含许多示例的教程存储库中构建代码(在 Visual Studio/C# 中)

  6. 6

    是否可以在开放源代码项目中使用Google的API?

  7. 7

    如何覆盖 Visual Studio Code 源代码

  8. 8

    我可以在开放源代码项目中使用VTD-XML解析器并将其与开放源代码一起发布吗?

  9. 9

    您可以在源代码管理中存储 Visual Studio 2013 项目模板吗?

  10. 10

    在Android开放源代码项目中恢复不完整的下载

  11. 11

    配置jenkins以将开放源代码项目发布到私有关系

  12. 12

    如何使用我下载的Visual Studio编译C ++源代码

  13. 13

    如何在使用开放源代码配方构建的HUB上安装Rappture Java绑定?

  14. 14

    如何在源代码管理中存储Visual Studio的调试配置

  15. 15

    在Visual Studio中运行源代码控制

  16. 16

    Visual Studio 转储分析:如何找到从源代码管理中检索源代码的命令

  17. 17

    恢复开放源代码库的详细版本控制

  18. 18

    有没有快速开放源代码的portscanner?

  19. 19

    100%开放源代码Linux发行版

  20. 20

    使用开放源代码映射本地(如Charles Proxy)

  21. 21

    在Visual Studio中做笔记,但不在源代码中做笔记

  22. 22

    在Visual Studio中做笔记,但不在源代码中做笔记

  23. 23

    Visual Studio不显示其中一个项目的C#代码建议

  24. 24

    rake db:create尝试为开放源代码项目kandan创建db时给我一个错误

  25. 25

    如何使Visual Studio 2013源代码管理忽略包目录

  26. 26

    在Visual Studio中删除未使用的C#代码

  27. 27

    Visual Studio Analyzer报告C#代码中的错误

  28. 28

    Visual Studio Code中没有C#代码分析

  29. 29

    我应该在开放源代码应用程序中发布我的Spotify API密钥吗?

热门标签

归档