I am looking for a component or other technique to compress and encrypt multiple large files (files which exceed 4gb in size, and thus will not fit in the memory available to a win32 process) into a single file. I would like the encryption to be very strong (256 bit AES or better) but the compression doesn't matter to me.
Right now, I'm using the TJvZlibMultiple
component which creates its own non-Zip file format, but I have to create the archive, then encrypt it in a separate step (I'm using DcpCrypt right now). I'd like to do the same in a single pass, using streams, without using memory equal to the size of the file (ergo, the compression and encryption should happen with streams, and not in memory).
I have seen, and don't want to use, anything that requires an external DLLs like the 7zip dll. Commercial tools are okay, or any code or sample Delphi sources, but I'm looking for a thorough implementation within Delphi not a thing that imports and invokes functions in a dll.
Take a look at DIZipWriter.
Supports 256 bit AES, streaming and compression.
Update:
Version 5 claims to have support for large sized (64bit) entries, DIZipWriter History
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With