The program sends data to and from a database. Encrypting and decrypting new data works fine, but the decryption does not appear to be backwards compatible. Here is the main encryption/decryption "action":$cipher = new Crypt::CBC('$key','IDEA');
Where $returnText is output, $reqText is input... After googling and looking around here, I think it is a padding/blocksize issue... the string "300" sent to be encrypted produced 16-character output on the old server, BUT the same 3-character $reqText produces 50-character encrypted output on the new server. So when I feed 16-character encrypted data to be decrypted on the new system, I get nothing returned. I am using the same keys and key length (10 characters). The versions of the CBC and IDEA modules vary on each server but only very slightly. I didn't see anything in the documentation that would cause this problem. I did see something about creating custom padding but did not understand it completely. (And Perl is upgraded as I mentioned above) Thanks for any help - I can provide more code or clarify if needed.$returnText = $cipher->decrypt_hex($reqText); # decrypt $returnText = $cipher->encrypt_hex($reqText); # encrypt
In reply to Crypt CBC using IDEA - output differs btwn systems by ewitch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |