-2

我正在使用 C# 制作一个需要密码的程序,这些密码将保存在一个文件中。问题是,我希望程序可以访问文件,而不是用户。我该怎么做?(使用 GUI、DOS 或 C#)

4

3 回答 3

1

嗯..这里的底线答案是,您无法阻止坚定且熟练的用户访问数据-您唯一能做的就是让他/她感到困难。

以下是您可能会考虑的一些可能的策略: 这些方法中的每一种都需要用户具有不同水平的技能才能获取数据。第一个几乎可以肯定是最难破解的。

  1. 加密文件 - 使用 .NET ProtectedData
  2. dasblinkenlight 的回答一样,在不同的用户帐户下创建文件
  3. 使用受保护的存储
于 2013-07-07T15:06:55.443 回答
0

这种方法的主要问题是密码文件存储在本地。不管你把它放在哪里,如果合法程序可以读取它,任何以相同权限运行的用户也可以得到它。您所能做的就是尝试隐藏它,但这只会给您带来安全感,尽管默默无闻。

对于在本地存储凭据的普通桌面应用程序,您应该对给定的密码使用散列函数,存储该散列,然后在再次验证用户时,散列他们的输入并比较散列。永远不要加密用户密码,永远不要将密码存储为纯文本

如果一些“好奇”的用户偷看那个文件,他们所拥有的只是一个哈希值,他们必须破解它才能获得任何价值。只要有足够的时间,一个坚定的用户总是能够做到这一点,但通常大多数人都会对此感到害怕。

于 2013-07-07T20:48:11.537 回答
-2

您可以创建一个加密算法,以便其他程序无法打开它。

于 2013-07-07T15:49:45.933 回答