【问题标题】:Best way to encrypt a directory of files?加密文件目录的最佳方法?
【发布时间】:2011-01-30 16:17:34
【问题描述】:

我需要以编程方式加密文件目录,例如 .zip 或其他文件。最好是密码保护明显。

我怎样才能做到这一点,最好的加密方式是什么?

编程语言无关紧要。我对所有语法都有用。

【问题讨论】:

  • 好多了。感谢您在老问题上浪费时间...
  • 另外,最好是一个模棱两可的术语。您在寻找最小的压缩尺寸吗?加密速度?加密强度?
  • ...您需要哪些资源来防范哪些攻击,您愿意信任什么?具体来说,谁可以访问加密文件,它们在多长时间内是敏感的?某些数据仅在数小时、数天或数月内敏感(大量商业数据),而对其他数据(例如个人诚信)没有明确的时间限制。使用适当的机制,但不要认为仅靠加密就可以提供安全性:请考虑如何进行解密以及如何存储密钥。
  • 这不是一个好的编程问题,因为加密文件的“最佳”方法是使用任何广泛可用的实用程序(适用于各种操作系统)甚至任何可用的硬件(嵌入式加密支持)已经被编写来执行这个功能。因此,这是一个比 SO 更适合服务器故障或超级用户的问题。最简单的方法是创建一个存档(tar、zip,无论你喜欢什么),然后在结果上使用 GPG/PGP。但是,这对于本网站来说基本上是题外话。

标签: java .net c++ python encryption


【解决方案1】:

我仍然说 7-zip 是答案。它没有被“破解”。

【讨论】:

  • 现在他正在寻求一种程序化的方式。有 7zip api 可用吗?
  • 有一个用于 7-zip (7-zip.org/sdk.html) 的 SDK,但我不知道它是否包含开箱即用的加密支持。当然,压缩文件然后对它们运行自己的加密并不难。
  • 目前 7-Zip 的 SDK/API 似乎不包含加密功能——但您可以通过任何编程的应用程序的命令行界面与它交互来获得它(连同压缩)支持运行外部可执行文件的语言。我用 Python 就是这样做的。
【解决方案2】:

OpenSSL 库具有多种分组密码实现,包括众所周知的 AES。它既有函数调用接口(用于 C/C++ 等语言)和程序调用接口(用于 shell 脚本)。 http://www.openssl.org/

【讨论】:

    【解决方案3】:

    使用AES。您可以通过向 google 询问 AES encryption + myfavouritelanguage 来找到您最喜欢的编程语言的实现。

    【讨论】:

      【解决方案4】:

      我怎样才能做到这一点,什么是 最好的加密方式,如果 适用吗?

      • tar 和 gzip 目录。
      • 生成与文件大小相等的随机比特流
      • 对流运行按位异或

      只有真正安全的方法才是真正随机的一次性密码。

      【讨论】:

      • 加密数据的最佳方法是将硬盘放入液压机中(只要不需要解密)。
      • 在我推荐 XOR ...之前,我通常表示更喜欢双 ROT-13(安全、方便和快速,是原始 ROT-13 的两倍)!
      • 如果您打算使用双腐,您不妨选择三腐 13,以获得更高的安全性。
      【解决方案5】:

      4096-Bit (Open)PGP: '相当不错' 隐私

      GnuPG 是 GNU 项目对 RFC4880 定义的 OpenPGP 标准的完整且免费的实现。 GnuPG 允许对您的数据和通信进行加密和签名,具有通用的密钥管理系统以及用于所有类型的公钥目录的访问模块。 GnuPG,也称为 GPG,是一个命令行工具,具有易于与其他应用程序集成的功能。有大量的前端应用程序和库可供使用。 GnuPG 版本 2 还提供对 S/MIME 的支持。

      libgcrypt:
      http://www.gnupg.org/related_software/libraries.en.html

      编辑:
      BouncyCastle 现在支持 OpenPGP。
      http://www.bouncycastle.org/

      【讨论】:

        【解决方案6】:

        如果您使用的是 .NET,为什么不使用支持加密的免费压缩框架 (http://www.icsharpcode.net/OpenSource/SharpZipLib/)?

        【讨论】:

          猜你喜欢
          • 2013-04-17
          • 2019-06-22
          • 1970-01-01
          • 2010-11-07
          • 1970-01-01
          • 2012-09-03
          • 1970-01-01
          • 1970-01-01
          • 2010-10-18
          相关资源
          最近更新 更多