2010-03-23 74 views
3

我需要以编程方式加密文件目录,就像.zip或其他文件一样。显然密码保护最好。加密文件目录的最佳方式是什么?

我该如何做到这一点,如果适用,什么是最好的加密方式?

编程语言无关紧要。我在所有的语法中都是有名的。

+1

好多了。感谢您在旧问题上浪费时间... – jjnguy 2010-03-23 06:37:51

+2

此外,最好的是一个模糊的术语。你在寻找最小的压缩尺寸吗?加密速度?加密的强度? – jjnguy 2010-03-23 06:40:32

+0

......你需要哪些资源来抵御什么攻击,以及你愿意信任哪些资源?具体来说,谁可能有权访问加密文件,以及他们对这段时间的敏感程度?一些数据只在数小时,数天或数月(大量商业数据)期间很敏感,而没有固定的时间限制可以放在其他数据上(例如个人完整性)。使用适当的机制,但不要认为单独使用加密可以提供安全性:考虑如何解密以及如何存储密钥。 – 2010-03-23 07:56:09

回答

4

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

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

只有真正安全的方法,是一种真正的随机一次性垫。

+2

加密数据的最佳方式是将硬盘放入液压机(只要解密不是必需的)。 – Will 2010-03-23 06:48:38

+1

在我推荐XOR之前...我通常会表达对双ROT-13的偏好(两倍于安全,方便和快速,与原始ROT-13相同)! – 2010-03-23 07:58:36

+0

如果你打算去尝试双重腐烂,那么你可能会因为三重腐烂13而更加安全。 – zellio 2010-03-23 16:37:54

3

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

+0

现在他正在寻求一种程序化的方式。有7zip api吗? – jjnguy 2010-03-23 06:42:06

+0

有一个用于7-zip的SDK(http://7-zip.org/sdk.html),但我不知道它是否包含开箱即用的加密支持。当然,压缩这些文件然后对它们运行自己的加密并不难。 – 2010-03-23 06:48:18

+2

API与否,有一个命令行界面。 – 2010-03-23 07:27:18

3

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

2

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

3

位(打开)PGP: '相当好' 隐私

GnuPG是由RFC4880定义的GNU项目的OpenPGP标准的完善和实施自由。 GnuPG允许加密和签名您的数据和通信,具有多功能密钥管理系统以及用于各种公共密钥目录的访问模块。 GnuPG也称为GPG,是一种命令行工具,具有易于与其他应用程序集成的功能。丰富的前端应用程序和库可用。 GnuPG的第2版也提供了对S/MIME的支持。


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

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