I am trying to decrypt using Java a string encrypted by the cryptString function in Adobe Campaign Classic.
var encryptedString = cryptString (“helloworld”, “{secretKey}”, false);
I have observed the encrypted string always starts with an @ and is 1 character longer than if I encrypt the same string using Java.
public static void main( String[] args ) throws Exception
{
String decryptedString = decrypt("{encryptedString}", "{secretKey}");
System.out.println(decryptedString);
}
public static String decrypt(String encrypted, String secretKey) throws Exception {
try {
SecretKeySpec skeySpec = new SecretKeySpec(secretKey.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
cipher.init(Cipher.DECRYPT_MODE, skeySpec, new IvParameterSpec(new byte[16]));
byte[] original = cipher.doFinal(Base64.decodeBase64(encrypted));
System.out.println(new String(original));
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
Solved! Go to Solution.
Views
Replies
Total Likes
Hi Milan. This didn't work using DESede/CBC/NoPadding. The documentation says the encryption used by Adobe Campaign is AES / CBC with a null IV.
https://docs.adobe.com/content/help/en/campaign-classic/technicalresources/api/f-cryptString.html
Remarks
Views
Replies
Total Likes
Views
Replies
Total Likes
Hi Milan. This didn't work using DESede/CBC/NoPadding. The documentation says the encryption used by Adobe Campaign is AES / CBC with a null IV.
https://docs.adobe.com/content/help/en/campaign-classic/technicalresources/api/f-cryptString.html
Remarks
Views
Replies
Total Likes
Is there a way to use a valid IV here or some other OOTB method to use?
Views
Replies
Total Likes