【问题标题】:What's the easiest way to encrypt a file in c#?在 C# 中加密文件的最简单方法是什么?
【发布时间】:2009-04-11 21:36:52
【问题描述】:

事前:

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

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

【问题讨论】:

  • @everyone :我当然会接受答案,但仍然没有时间研究答案,问候

标签: c# encryption


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

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

      假设您的配置文件包含数据库连接的密码,则可以通过查看网络数据包获取这些密码。

      【讨论】:

      • 我投了你一票,因为投反对票可能与你误读了我的问题有关,这可能部分是我的错,所以我改写了。
      • 我同意你的观点,因为如果重要的话,对你的安全性“偏执”是可以的。如果你能加密它,它就可以被解密。就像你的答案一样,它让它变得更难了。
      【解决方案4】:

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

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

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

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 真的吗?我发现相反,但我想我只是习惯使用它。本质上正确完成的加密并不“容易”,但我想你是对的,因为它是问题的一部分。但是,为了完整起见。 :)
        猜你喜欢
        • 2010-11-06
        • 2013-07-06
        • 2012-09-30
        • 1970-01-01
        • 2015-03-13
        • 2011-02-26
        • 2010-09-05
        • 2014-01-28
        • 1970-01-01
        相关资源
        最近更新 更多