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

时间:2009-04-11 21:36:52

标签: c# encryption

事先:

我确实读过关于SO的其他主题,但我找不到答案 (其他是关于配置文件或技术列表)

因此,我的问题非常简单,虽然有点主观(我事先将其标记为:-))最简单的方式是什么。

5 个答案:

答案 0 :(得分:7)

File.Encrypt非常简单 - 一次调用(带一个参数)。

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

答案 1 :(得分:4)

答案 2 :(得分:4)

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

并说你的配置文件包含数据库连接的密码,也许可以让这些密码查看网络数据包。

答案 3 :(得分:4)

加密对现代图书馆来说是微不足道的:困难的部分是保护密钥。

因此,您需要查看您尝试保护的内容以及您尝试防范的威胁。

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

对于单个服务器上的配置文件,使用LocalMachine范围的DPAPI是一个不错的选择。然后,您需要确保只有授权用户才能登录服务器。在这里,您实际上是将密钥管理委派给Windows。

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

答案 4 :(得分:3)

我推荐Cryptography Application block中的Enterprise Library。非常简单,非常灵活。