java - 类似于 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不同。
这里有什么问题?
解决方案
推荐阅读
- c++ - 我可以定义一个 constexpr 匿名/未命名变量吗?
- javascript - Node.js子进程挂起,需要调试思路
- node.js - Jest watch 未检测到文件更改
- r - 很难根据列值删除行
- python - 逻辑回归在 python 中不起作用
- unity3d - Physics(2D) 模块不存在。这个 PhysicsRaycaster(2d) 将不起作用。(统一2020.1.0a14)
- r - 在 R 中的散点图上获取重复的标记点
- gcc - 使用 raco 牺牲编译时间来提高性能的方法?
- html - PHP Datetime-local min 和 max
- apache-kafka - 如何使用测试容器高效地创建 Kafka 主题?