存储凭据以供自动使用

本文关键字:存储 | 更新日期: 2023-09-27 18:14:21

我已经环顾四周,由于我不是安全或加密专家,我仍然对如何在我的程序中实现加密感到困惑。我需要一个服务器登录到它的gitHub帐户更新代码文件与特殊的头。我现在唯一的问题是如何存储/检索服务器的凭据。

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

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

另外,我想要的唯一用户交互发生在他们在服务器上编译和设置程序时。它就像linux服务器上的cronjob,以防有什么不同。另一个需要注意的细节是,我使用的是libgit2sharp,但之前使用的是bash脚本和ssh来验证测试。

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

尽管缺乏安全性,但它达到了目的,并且仍然具有足够的安全性。如果不想要的人获得凭据,很容易重置几个密码,这样他们就无法访问gitHub帐户。

存储凭据以供自动使用