如何在不使用外部DLL或运行时的情况下压缩和加密大型文件?

时间:2012-07-26 21:21:21

标签: delphi encryption compression components

我正在寻找一种组件或其他技术来压缩和加密多个大文件(文件大小超过4GB,因此不适合win32进程可用的内存)到一个文件中。我希望加密非常强大(256位AES或更好),但压缩对我来说并不重要。

现在,我正在使用创建自己的非Zip文件格式的TJvZlibMultiple组件,但我必须创建存档,然后在单独的步骤中对其进行加密(I' m现在使用DcpCrypt)。我想在一次传递中使用流,而不使用与文件大小相等的内存(ergo,压缩和加密应该在流中发生,而不是在内存中)。

我已经看过,并且不想使用任何需要外部DLL的东西,比如7zip dll。商业工具还可以,或任何代码或样本Delphi源代码,但我在Delphi中寻找彻底的实现,而不是在dll中导入和调用函数。

3 个答案:

答案 0 :(得分:2)

看看DIZipWriter

支持256位AES,流媒体和压缩。

更新: 版本5声称支持大型(64位)条目DIZipWriter History

答案 1 :(得分:0)

答案 2 :(得分:-1)

检查FlexCompress:

FlexCompress是一个压缩delphi组件,旨在创建具有强加密和比WinZip和RAR更好的压缩率的归档。本机VCL,没有DLL,没有OCX,为文件,缓冲区,流和字符串提供压缩,支持内存存档,压缩大文件> 4 Gb具有低内存消耗和许多其他有用功能。

http://www.componentace.com/flexcompress_features.htm

通过以下链接:http://delphi.about.com/od/toppicks/tp/delphi_zip.htm