This is my code:

```
public class Encryption {
    private static final String ALGO = "AES/CBC/PKCS5Padding";
    private static final byte[] keyValue = new byte[]{'F','O','R','T','Y','T','W','O','F','O','R','T','Y','T','W','O'};
    private static Key key = generateKey();

    public static String encrypt(String DATA) throws Exception {
        Cipher c = Cipher.getInstance(ALGO);
        c.init(Cipher.ENCRYPT_MODE,key,new IvParameterSpec(c.getParameters().getParameterSpec(IvParameterSpec.class).getIV()));
        byte[] encVal = c.doFinal(DATA.getBytes());
        String encryptedValue = new BASE64Encoder().encode(encVal);
        return encryptedValue;
    }

    public static String decrypt(String DATA) throws Exception {
        System.out.println(DATA.length());
        Cipher c = Cipher.getInstance(ALGO);
        c.init(Cipher.DECRYPT_MODE, key, new IvParameterSpec(c.getParameters().getParameterSpec(IvParameterSpec.class).getIV()));
        byte[] dencVal = c.doFinal(DATA.getBytes());
        String decryptedValue = new BASE64Encoder().encode(dencVal);
        return decryptedValue;

    }
    public static Key generateKey() {
            Key key = new SecretKeySpec(keyValue,"AES");
            return key;
    }
}

```

And I'm getting this error:

```
Error:Exception in thread "main" javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:913)
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)
    at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436)
    at javax.crypto.Cipher.doFinal(Cipher.java:2165)
    at Encryption.decrypt(Encryption.java:30)
    at EncryptionTest.main(EncryptionTest.java:9)

```

What am I doing wrong?