The below code works sometimes and sometimes it gives an error. The error is like this. Input length must be multiple of 16 when decrypting with the padded cipher. I am getting an error in decryption on the 3rd line of Decryption. "Blob decryptedData = Crypto.decryptWithManagedIV('AES256', cryptoKey, encryptedData);"
Encryption:
Blob cryptoKey = EncodingUtil.base64Decode(privateKeyValue);
Blob data = Blob.valueOf(String.escapeSingleQuotes(dataToEncrypt));
Blob encryptedData = Crypto.encryptWithManagedIV('AES256', cryptoKey, data);
String encryptedDataString = EncodingUtil.base64Encode(encryptedData);
Decryption:
Blob cryptoKey = EncodingUtil.base64Decode(privateKeyValue);
Blob encryptedData = EncodingUtil.base64Decode(String.escapeSingleQuotes(encryptedValue));
Blob decryptedData = Crypto.decryptWithManagedIV('AES256', cryptoKey, encryptedData);
String decryptedDataString = decryptedData.toString();