繁体   English   中英

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

[英]What's the easiest way to encrypt a file in c#?

事先:

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

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

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

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM