У меня есть кусок кода в PHP
function encrypt($data){
$data = "{\"userId\":11,\"email\":\"ssss.bansa11l1989@gmail.com\",\"firstName\":\"Ankit\",\"lastName\":\"Bansal\",\"displayName\":\"banank1989\",\"visitorId\":\"1222222234455\"}";
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $this->iv);
mcrypt_generic_init($td, $this->key, $this->iv);
$encrypted = mcrypt_generic($td, $data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return bin2hex($encrypted);
}
Теперь, когда я пытаюсь написать тот же код в Java, он дает мне другой вывод
public String encrypt(String value) {
try {
value="{\"userId\":11,\"email\":\"ssss.bansa11l1989@gmail.com\",\"firstName\":\"Ankit\",\"lastName\":\"Bansal\",\"displayName\":\"banank1989\",\"visitorId\":\"1222222234455\"}";
String initVector = "fedcba9876111111";
String key = "012345678911111";
IvParameterSpec iv = new IvParameterSpec(initVector.getBytes("UTF-8"));
SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = cipher.doFinal(value.getBytes());
return new String(Base64.encodeBase64(encrypted));
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
Теперьпроблема в том, что оба кода дают разные результаты для одного и того же предоставленного JSON.
Я не могу изменить код PHP, поэтому мне нужно изменить код JAVA.