The short answer is yes. The long answer is "it depends".
By the words "calculates his keys", I assume you mean generate the encryption keys. How the keys are generated is completely irrelevant to the process of using thos keys for encryption and decryption.
DcpCrypt was written before Rijndael became the AES standard (that's a long time ago). Assuming that the pre-standard Rijndael implementation is the same as AES (it probably is), AES encryption/decryption interoperability should be language and implementation neutral, only dependant on the implementation options.
But here is the rub ... identifying those options and setting them to be the same on both the encryption codec and the decryption codec can be tricky.
What are the options?
- Chaining mode;
- IV
- How is the message salted? if at all?
- Termination: AES does not specify the blocking scheme for non-key-streaming chaining modes.
- In general, with ciphers other than AES, you may also have an issue with specifying how the keys are encoded - but this shouldn't be a problem with AES.
Once you identify all the options that the encryptor uses, you must apply those same options to the decryptor. This problem is not specific to Rijndael/AES but is universal to all ciphers.
By the way, if you are zipping for the purposes of compression, encryption following by zipping is pointless. Zip will not compress any file whose contents are already maximally random, such as ciphertext.
I recommend you use TurboPower LockBox 3 to encrypt in AES, rather than DcpCrypt. Dave Barton's DCPcrypt was good in it day, but it's not up to date with standards, and it doesn't manage IV's safely.
What are the options if you use LockBox? If you use LockBox 3's AES codec with CBC mode, salting and IV are managed by setting the IV to a nonce and pre-emitting it. For messages longer than one block, blocking is achieved by ciphertext stealing. For messages shorter than one block, the chaining mode is forced to 8-bit CFB, which is key-streaming.
Also your comment about encrypting the file with SHA256 doesnt make sense. SHA is a hash, not a cipher.