Szyfrowanie w Androidzie odpowiada MCRYPT_RIJNDAEL_256 php

Do szyfrowania używam poniższego kodu php:

$enc_request = base64_encode(
    mcrypt_encrypt(MCRYPT_RIJNDAEL_256, 
                 $this->_app_key, 
                 json_encode($request_params), 
                 MCRYPT_MODE_ECB)
);

Teraz próbuję zaszyfrować w Androidzie i uzyskać inny zaszyfrowany ciąg. Poniżej znajduje się kod Androida:

public void enc(){
    byte[] rawKey = getRawKey("my_key".getBytes());
    SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
    Cipher cipher = Cipher.getInstance("AES");
    cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
    byte[] encrypted = cipher.doFinal("my_message".getBytes());
    String result=Base64.encodeToString(encrypted, Base64.DEFAULT);
}

private static byte[] getRawKey(byte[] seed) throws Exception {
    KeyGenerator kgen = KeyGenerator.getInstance("AES");
    SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
    sr.setSeed(seed);
    kgen.init(256, sr); 
    SecretKey skey = kgen.generateKey();
    byte[] raw = skey.getEncoded();
    return raw;
}

Czy ktoś mógłby mi pomóc, gdzie się mylę? I uzyskaj ten sam poprawny zaszyfrowany ciąg w Androidzie.

questionAnswers(1)

yourAnswerToTheQuestion