Jam*_* Ko 5 .net c# api api-key
我正在为Windows 10制作一个客户端应用程序.我有一个问题,我想开源我的代码,但让其他人看不到API密钥.这是我的源文件的相关部分:
private const string ApiKey = "YOUR_API_KEY";
Run Code Online (Sandbox Code Playgroud)
我想把它变成
private const string ApiKey = "THE_ACTUAL_API_KEY";
Run Code Online (Sandbox Code Playgroud)
什么时候编译.我该怎么做呢?
编辑:对不起任何含糊之处; 我问如何防止GitHub上的源代码的查看者看到字符串,而不必在本地构建期间更改它.此问题与加密无关.
Jam*_* Ko 11
这是我最终解决问题的方法.
我在我的项目中添加了一个类Credentials.cs:
public static class Credentials
{
    public const string ApiKey = "YOUR_API_KEY";
}
Run Code Online (Sandbox Code Playgroud)
所有对API密钥的进一步引用都是通过我添加的字段进行的.例如:
public void MakeRequest()
{
    var client = new ApiClient(Credentials.ApiKey);
    client.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
现在为神奇的部分.通过Git提交该文件后,我运行了git update-index --assume-unchanged Credentials.cs(根据这个SO答案)告诉Git停止跟踪文件的更改.换句话说,如果您修改文件并运行git diff或git status,则不会显示任何内容.
然后我用YOUR_API_KEY文件中的实际API键替换,现在一切都很完美.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2060 次  |  
        
|   最近记录:  |