How can I compress and encrypt a large file without using external DLLs or battery life?

I am looking for a component or other technique for compressing and encrypting several large files (files larger than 4 GB and therefore will not fit into the memory available for the win32 process) in one file. I would like the encryption to be very strong (256 bit AES or better), but compression doesn't matter to me.

I am currently using the TJvZlibMultiple component, which creates a custom file format other than Zip, but I need to create an archive and then encrypt it in a separate step (I'm using DcpCrypt right now). I would like to do the same in one pass, using threads, not using memory equal to the size of the file (ergo, compression and encryption should happen with the threads, not in memory).

I saw and do not want to use anything that requires external DLLs such as 7zip dll. Commercial tools are fine, or any Delphi source code or sample, but I'm looking for a thorough implementation in Delphi is not something that imports and calls functions in a dll.

+6
source share
3 answers

Take a look at DIZipWriter .

Support 256-bit AES, streaming and compression.

Update: Version 5 claims to have support for large (64 bit) DIZipWriter History , DIZipWriter History .

+2
source

Check out FlexCompress:

FlexCompress is a compression delphi component designed to create archives with strong encryption and a better compression ratio than WinZip and RAR. Native VCL, without DLL, OCX, provides compression of files, buffers, streams and strings, supports archives in memory, compresses large files> 4 GB with low memory consumption and many other useful functions.

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

at this link: http://delphi.about.com/od/toppicks/tp/delphi_zip.htm

-1
source

Source: https://habr.com/ru/post/921431/


All Articles