我正在为Windows 10开发一个客户端应用程序。我在想开源代码时遇到问题,但其他人看不到API密钥。这是我的源文件的相关部分:
private const string ApiKey = "YOUR_API_KEY";
我想将其转换为
private const string ApiKey = "THE_ACTUAL_API_KEY";
在编译时。我将如何去做呢?
编辑:很抱歉有任何歧义;我在问如何防止GitHub上的源代码查看者看到字符串,而不必在本地构建期间更改它。这个问题与加密没有任何关系。
这就是我最终解决问题的方式。
我在项目中添加了一个类Credentials.cs
:
public static class Credentials
{
public const string ApiKey = "YOUR_API_KEY";
}
通过我添加的字段对API密钥进行了所有其他引用。例如:
public void MakeRequest()
{
var client = new ApiClient(Credentials.ApiKey);
client.DoSomething();
}
现在是魔术部分。通过Git提交该文件后,我运行git update-index --assume-unchanged Credentials.cs
,它(按照此SO回答)告诉Git停止跟踪对该文件的更改。换句话说,如果您修改文件并运行git diff
或git status
,则不会显示任何内容。
然后,我用YOUR_API_KEY
文件中的实际API密钥替换了,现在一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句