我正在使用 C# 制作一个需要密码的程序,这些密码将保存在一个文件中。问题是,我希望程序可以访问文件,而不是用户。我该怎么做?(使用 GUI、DOS 或 C#)
user2417783
问问题
553 次
3 回答
1
嗯..这里的底线答案是,您无法阻止坚定且熟练的用户访问数据-您唯一能做的就是让他/她感到困难。
以下是您可能会考虑的一些可能的策略: 这些方法中的每一种都需要用户具有不同水平的技能才能获取数据。第一个几乎可以肯定是最难破解的。
- 加密文件 - 使用 .NET ProtectedData类
- 如dasblinkenlight 的回答一样,在不同的用户帐户下创建文件
- 使用受保护的存储
于 2013-07-07T15:06:55.443 回答
0
这种方法的主要问题是密码文件存储在本地。不管你把它放在哪里,如果合法程序可以读取它,任何以相同权限运行的用户也可以得到它。您所能做的就是尝试隐藏它,但这只会给您带来安全感,尽管默默无闻。
对于在本地存储凭据的普通桌面应用程序,您应该对给定的密码使用散列函数,存储该散列,然后在再次验证用户时,散列他们的输入并比较散列。永远不要加密用户密码,永远不要将密码存储为纯文本。
如果一些“好奇”的用户偷看那个文件,他们所拥有的只是一个哈希值,他们必须破解它才能获得任何价值。只要有足够的时间,一个坚定的用户总是能够做到这一点,但通常大多数人都会对此感到害怕。
于 2013-07-07T20:48:11.537 回答
-2
您可以创建一个加密算法,以便其他程序无法打开它。
于 2013-07-07T15:49:45.933 回答