Communicate with encrypted parameters between Java and Delphi. If Delphi encrypts them, Java needs to decrypt them. But if I operate as below, Java will have an error... How should I change the Java sauce?
[ Delphi source (Encrypt) ]
var
  Data: string;
begin
  Data := Memo1.Text;
  DCP_rijndael1.InitStr(Edt_Password.Text, TDCP_sha256);
  DCP_rijndael1.EncryptCBC(Data[1],Data[1],Length(Data));
  DCP_rijndael1.Burn;
  Memo2.Text := Base64EncodeStr(Data);
end;
[ Delphi source (Decrypt) ]
var
  Data: string;
begin
  Data := Base64DecodeStr(Memo2.Text);
  DCP_rijndael1.InitStr(Edt_Password.Text, TDCP_sha256);
  DCP_rijndael1.DecryptCBC(Data[1],Data[1],Length(Data));
  DCP_rijndael1.Burn;
  Memo3.Text := Data;
end;
[Java source]
public static String Decrypt(String text, String key) throws Exception
{
          Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
          byte[] keyBytes= new byte[16];
          byte[] b= key.getBytes("UTF-8");
          int len= b.length;
          if (len > keyBytes.length) len = keyBytes.length;
          System.arraycopy(b, 0, keyBytes, 0, len);
          SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES");
          IvParameterSpec ivSpec = new IvParameterSpec(keyBytes);
          cipher.init(Cipher.DECRYPT_MODE,keySpec,ivSpec);
          sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
          byte [] results = cipher.doFinal(decoder.decodeBuffer(text));
          return new String(results,"UTF-8");
}