It would really help to see the encryption and decryption code, as used by you program. The Handling of the IV does not seem right. The IV has the size of the block of the cipher used in conjunction with CBC. Thus it should probably 16 bytes in length. Additionally you have to use the RAW bytes for CBC and not its Base64 representation. In order to transmit IV and cipher text, you may apply a Base64 encoding if necessary. But do not cut parts away, as otherwise you will never be able to decrypt your data again.