在Delphi中压缩和加密

时间:2011-12-20 11:50:45

标签: delphi encryption compression

我需要为DAT文件提供快速且强大的压缩+加密方法。

我有一个DAT文件,其中包含非常敏感的信息,我想压缩和加密它。我知道我可以在压缩方法中使用Zlib但是加密方法呢?

非常感谢

3 个答案:

答案 0 :(得分:6)

请查看Delphi Encryption Compendium(又名DEC):

答案 1 :(得分:6)

另一个常用的组件是DCPCrypt:

http://www.cityinthesky.co.uk/opensource/dcpcrypt

它是基于流的,因此您可以进行分层压缩和加密。我不知道一步到位的代码。 (至少没有明智的加密)

答案 2 :(得分:4)

如果您同时需要加密和压缩,则有两种方法可以实现:

  • 在内存缓冲区中使用您的数据,然后压缩此缓冲区,然后对其进行加密;
  • 使用流,一个用于压缩,另一个用于加密。

在所有情况下,最好是在加密前进行压缩。从压缩格式中取消数据是非常困难的,因为它的内容不太可预期。

然后依靠足够强大的加密算法(如AES)。

您在我们的开源单元中拥有所有这些功能(从Delphi 5到XE2)。您可以使用ZIP,或者尝试更快(但在压缩比方面效率较低)SynLZ。然后SynCrypto可用于加密它。有直接函数处理RawByteString种数据,它们将数据存储在内存缓冲区中。