C# 在c应用程序中存储凭据

C# 在c应用程序中存储凭据,c#,encryption,passwords,password-protection,C#,Encryption,Passwords,Password Protection,大家好我对c没有太多经验。我想写一个非常简单的应用程序,必须访问文件共享。执行应用程序的用户无权访问该文件共享。因此,我需要使用其他凭据来访问该文件共享。但是我认为直接在源代码中提供凭证不是一个好的选择。我想了又想,但没有解决办法。你有没有办法,我怎样才能解决这个问题?是否有办法将凭据存储在某个地方,以便可能的攻击者在接收使用过的密码时遇到问题?您不能既给用户密码,又阻止他们使用密码。但是每一个计算问题,除了一个,都可以通过增加一个额外的间接层来解决。创建不在用户计算机上运行的东西,充当文件共享

大家好我对c没有太多经验。我想写一个非常简单的应用程序,必须访问文件共享。执行应用程序的用户无权访问该文件共享。因此,我需要使用其他凭据来访问该文件共享。但是我认为直接在源代码中提供凭证不是一个好的选择。我想了又想,但没有解决办法。你有没有办法,我怎样才能解决这个问题?是否有办法将凭据存储在某个地方,以便可能的攻击者在接收使用过的密码时遇到问题?

您不能既给用户密码,又阻止他们使用密码。但是每一个计算问题,除了一个,都可以通过增加一个额外的间接层来解决。创建不在用户计算机上运行的东西,充当文件共享和用户之间的中间人。我建议使用WebDAV协议。

基于意见的问题对我来说是离题的,所以我担心。如果我是你,看看加密它,甚至可能使用SecureString。我不是在征求意见,我更多的是寻找一种解决方案,如何在generell中获得一种安全的密码存储方式。这个问题的正确答案是什么?使用安全字符串的问题是,我需要提供密钥来解密它。如果我将密钥存储在代码中,那将与将我的凭证密码直接存储在代码中一样糟糕,不是吗?是的,但是意见是存在的,因为有一百种方法可以实现你正在做的事情。你需要做你自己的研究,如果你有一个特定的编程问题需要回答,请回到这里。好的。我做了研究来解决这个问题。但我所读到的一切都不实际。例如:如果您使用猜测的securestring:请阅读我在上一个答案中对此的想法。System.Security.Cryptography.ProtectedData快速且易于使用。但是,在用户自己的机器上任意保护数据永远不会可靠地工作。