【问题标题】:Storing credentials in a c# application在 C# 应用程序中存储凭据
【发布时间】:2017-02-24 13:49:34
【问题描述】:

大家好

我对 c# 没有太多经验。我想编写一个非常简单的应用程序,必须访问文件共享。用户(执行应用程序)无权访问该文件共享。所以我需要使用其他凭据来访问该文件共享。但我认为直接在源代码中提供该凭据不是一个好选择。我正在思考和思考,但没有解决方案。你有什么想法,我怎么能解决这个问题?有没有办法将凭据存储在某处,以便可能的攻击者在接收使用的密码时遇到问题?

【问题讨论】:

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

标签: c# encryption passwords password-protection


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 2023-03-24
    • 2010-11-12
    相关资源
    最近更新 更多