0

我有一个应用程序,它的名称和徽标可以直接从同一目录中的 TXT 和 PNG 文件更改。

我想让用户能够从执行以下操作的另一个应用程序更改徽标和文本文件:

Takes the Logo.png , Name.txt file paths and the directory of my Software then encrypt these two files and put them in the Directory of the Software

另一方面。该软件将解密这两个文件并将它们写入硬盘到临时目录,然后使用它们显示名称和徽标。

我搜索了加密文件的最简单和最简单的方法,我发现:

从 MSDN :

文件.加密(): Encrypts a file so that only the account used to encrypt the file can decrypt it.

谁能告诉我“只有用于加密文件的帐户才能解密它”是什么意思?

Application1加密来自Computer1应用程序,然后该文件将由Application2中的Computer2解密

加密会正常工作吗?



编辑:
我需要加密这两个文件的目的是避免用户直接从目录中更改徽标和应用程序名称

4

3 回答 3

4

这将加密文件,但不会像您期望的那样 - 几乎可以肯定它不会被另一台计算机上的另一个应用程序/用户解密。

Encrypt方法基本上只是切换底层 NTFS 驱动程序的一个功能来加密文件系统本身上的指定文件。不错的功能是它(通常)为用户提供无缝文件加密,但它并不是真正的可移植加密。这与打开文件属性,单击高级按钮并选择“加密”复选框相同。

有关 NTFS 加密功能的更多信息,请访问:http ://technet.microsoft.com/en-us/library/bb457116.aspx

高级文件属性

于 2013-02-19T16:07:47.167 回答
1

不可以。您应该使用适当的加密方法,例如 System.Security.Cryptography 命名空间中的加密方法。也有一个流实现,称为 CryptoStream,你可以用它包装一个 FileStream 来加密文件。

于 2013-02-19T16:02:47.353 回答
1

这与 Windows 的 EFS 有关。

您可以在 Windows 资源管理器中通过右键单击文件、属性、高级、加密内容来尝试它。当您的应用程序访问文件数据时,它会即时自动解密/加密。但是,如果另一个用户登录机器并复制文件,它将显示为已加密,因为加密是基于用户令牌的。

这可能是也可能不是您想要的,这取决于您对该功能的预期用途。如果您不希望用户能够修改您的应用程序之外的数据,这还不够。

于 2013-02-19T16:03:13.867 回答