一段C#的AES加密代码,求高手指点对应的Java代码

以下C#的AES加密代码

// key = "05d870d9be50f4786ac2941363abdcea";
// raw = "65220b2f8fba485590615c0b1aaea872|79e68b4638214e0e848ab2757ef2dcb";
// return "JTJ5WkDFvunfCxh9D3+1jkzabeWkOPnqrJiIztFY1v+S9H+BH/c0XkauCGCt3fewjGcGU4mkYqgQynlw4bjMTg==" ;



         public static string Encrypt(string encryptStr, string key)
        {
            var keyArray = Encoding.UTF8.GetBytes(key);
            var toEncryptArray = Encoding.UTF8.GetBytes(encryptStr);
            var rDel = new RijndaelManaged
            {
                Key = keyArray,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.None
            };
            var cTransform = rDel.CreateEncryptor();
            var resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

求对应的Java代码。以下是我找到的AES加密,但运行结果不一致,求高手指点:

 package cn.companyname.util;

import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Base64;

/**
 * 加密解密EncryptAES.
 */
public class EncryptAES {

    private static final String transform = "AES/ECB/NoPadding";

    private static final String algorithm = "AES";

    public static String decrypt(String content, String key) throws IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, UnsupportedEncodingException {
        Cipher cipher = Cipher.getInstance(transform);
        byte[] encryptedBytes = Base64.decodeBase64(content.getBytes());
        SecretKeySpec keySpec = new SecretKeySpec(getKey(key), algorithm);
        cipher.init(Cipher.DECRYPT_MODE, keySpec);
        byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
        return new String(decryptedBytes, "UTF-8");
    }

    public static String encrypt(String content, String key) throws NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException, InvalidKeyException {
        Cipher cipher = Cipher.getInstance(transform);
        SecretKeySpec keySpec = new SecretKeySpec(getKey(key), algorithm);
        cipher.init(Cipher.ENCRYPT_MODE, keySpec);
        byte[] output = cipher.doFinal(content.getBytes("UTF-8"));
        return new String(Base64.encodeBase64(output));
    }

    private static byte[] getKey(String strKey) throws UnsupportedEncodingException {
        byte[] arrBTmp = strKey.getBytes("UTF-8");
        byte[] arrB = new byte[16]; // 创建一个空的16位字节数组(默认值为0)
        for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) {
            arrB[i] = arrBTmp[i];
        }
        return arrB;
    }

    public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException {

        // 以下数据是从C#程序的运行参数和结果,以期完全一致。 
        String key = "05d870d9be50f4786ac2941363abdcea";
        String raw = "65220b2f8fba485590615c0b1aaea872|79e68b4638214e0e848ab2757ef2dcb";
        String str = encrypt(raw, key);
        System.out.println(str);
        System.out.println("JTJ5WkDFvunfCxh9D3+1jkzabeWkOPnqrJiIztFY1v+S9H+BH/c0XkauCGCt3fewjGcGU4mkYqgQynlw4bjMTg==");  

    }

}

https://zhidao.baidu.com/question/311395234.html