首页 > 解决方案 > 类似于 Java 的 VB.NET 中的 AES 加密

问题描述

我目前正在尝试将 Java 中的现有代码转换为 VB.NET,该代码使用 MD5 哈希字符串中的密钥对字符串进行 AES 加密。

Java代码:

private static String a(byte[] paramArrayOfbyte) {
    StringBuffer stringBuffer = new StringBuffer();
    for (int i = 0; i < paramArrayOfbyte.length; i++) {
      String str2 = Integer.toHexString(paramArrayOfbyte[i] & 0xFF);
      String str1 = str2;
      if (str2.length() == 1) {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append('0');
        stringBuilder.append(str2);
        str1 = stringBuilder.toString();
      } 
      stringBuffer.append(str1);
    } 
    return stringBuffer.toString();
}

public static String encrypt(String paramString) throws Exception {
    byte[] arrayOfByte1 = paramString.getBytes("UTF-8");
    SecretKeySpec secretKeySpec = new SecretKeySpec(MessageDigest.getInstance("MD5").digest("digiposoutletapp".getBytes("UTF-8")), "AES");
    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(1, secretKeySpec);
    byte[] arrayOfByte2 = new byte[cipher.getOutputSize(arrayOfByte1.length)];
    cipher.doFinal(arrayOfByte2, cipher.update(arrayOfByte1, 0, arrayOfByte1.length, arrayOfByte2, 0));
    return a(arrayOfByte2);
}

我在 Java 中使用了相同类型的 AES AES/ECB/PKCS5Padding,但 VB 加密的结果总是与 Java不同。

这里有什么问题?

标签: javavb.netcryptographyaes

解决方案


推荐阅读