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

事先:

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

因此我的问题很简单,虽然有点主观(我事先会给它贴上标签:-))什么是最简单的方法..

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

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

C#中的数据保护API

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

并说您的配置文件包含数据库连接的密码,可能会获取这些密码查看网络数据包。

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

因此,您需要了解您要保护的内容以及您要防范的威胁。

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

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

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

我推荐企业库中的Cryptography Application块 。 非常简单,非常灵活。