存储凭据以便自动使用

时间:2014-07-23 17:57:09

标签: c# encryption mono password-encryption libgit2sharp

我已经环顾四周了,既然我不是安全或加密专家,我仍然对如何在我的程序中实现加密感到困惑。我需要一台服务器登录其gitHub帐户以更新带有特殊标头的代码文件。我现在唯一的挂断是如何存储/检索服务器的凭据。

PushOptions push = new PushOptions
{
    Credentials =
    new UsernamePasswordCredentials
    {
        Password = "password",
        Username = "Username"
    }
};

如何加密这些凭据以进行存储?我知道将它们存储在代码中是个坏主意,例如,将它们存储在未加密的任何文件中也是一个坏主意。

此外,我想要的唯一用户交互是在服务器上编译和设置程序时发生的。它是Linux服务器上的cronjob,以防万一。需要注意的另一个细节是,我正在使用libgit2sharp,但之前使用的是bash脚本和ssh进行身份验证以进行测试。

1 个答案:

答案 0 :(得分:0)

我发现的最佳解决方案就是将它们放在日志文件中,因为服务器已经受密码保护了,我可以让它只有一个用户(我猜根)能够读取它们,但很少有人知道服务器存在,只有一个人应该知道在哪里找到它们并拥有这样做的凭据。

尽管缺乏安全性,但它实现了目的,并且仍然具有足够的安全性。如果有人不需要获取凭据,则很容易重置几个密码,因此他们将无法访问gitHub帐户。