如何更改文件权限,以便只有某个程序才能访问它?

时间:2013-07-07 14:33:09

标签: c# file-permissions

我使用C#制作需要密码的程序,这些密码将保存在文件中。问题是,我希望程序能够访问该文件,但不能访问用户。我怎么能这样做? (使用GUI,DOS或C#)

3 个答案:

答案 0 :(得分:1)

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

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

  1. 加密文件 - 使用.NET ProtectedData
  2. dasblinkenlight's answer一样,使用其他用户帐户创建文件
  3. 使用Protected Storage

答案 1 :(得分:0)

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

对于在本地存储凭据的普通桌面应用程序,您应该对给定的密码使用哈希函数,存储该哈希值,并在再次验证用户时,对其输入进行哈希处理并比较哈希值。 永远不要加密用户密码,绝不要将密码存储为纯文本

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

答案 2 :(得分:-2)

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