2009-04-11 221 views
3

事前:在c#中加密文件最简单的方法是什么?

我已经阅读了其他主题,但我找不到答案。
(其他是有关config-文件,或技术清单)

我这样的问题很简单,虽然有点主观的(我将其标记为事先:-))什么是最简单的方式 ..

+0

@everyone:我当然会接受一个答案,但仍然没有时间研究答案,问候 – Peter 2009-04-15 08:38:55

回答

7

File.Encrypt很简单 - 一个呼叫(一个参数)。

当然,这取决于你想要的加密。 File.Encrypt加密到当前帐户,如果您传递文件,这并没有多大用处。但是,根据您的规范 - 即加密文件的最简单方法 - 它必须是候选人!

4

不要因为你加密配置文件而相信你有任何安全性。如果有人可以访问加密的配置文件和包含密码的可执行文件,则很可能会解密配置文件。这只是一点点困难。

说你的配置文件中包含密码的数据库连接,有可能让那些看网络数据包的密码。

+0

我投票支持你,因为downvote可能与你误解我的问题有关,这可能部分是我的错,所以我改述了它。 – Peter 2009-04-11 23:03:14

+0

我同意你的看法,因为如果它很重要,那么可以对你的安全性“偏执”。如果你可以加密它,它可以被解密。它就像你的回答,它使它更难一点。 – Kredns 2009-04-12 00:33:43

4

加密对于现代图书馆来说是微不足道的:最难的部分就是确保密钥的安全。

所以,你需要看看你想要什么来保护,而你试图保护反对什么威胁。

要加密文件,以便只有当前用户可以看到它在客户端工作站上,File.Encrypt是一个不错的选择,或与CurrentUser范围DPAPI。

对于单个服务器上的配置文件,DPAPI使用LOCALMACHINE范围是很好的选择。然后您需要确保只有授权用户才能够登录到服务器。在这里,您基本上将关键管理委派给Windows。

有关服务器场的配置文件,您需要共享服务器之间的关键。 RsaProtectedConfigurationProvide是一个不错的选择,但您需要更多的工作来确保所有服务器都可以访问相同的密钥,并且可以防止未经授权的访问(例如使用DACL)。

相关问题