Java aes код шифрования, как этого добиться с помощью nodejs?
Я не знаю, как nodejs должен реализовывать функцию hexStringToBytes, и aes decrypt
Исходный код: https://github.com/androider/mahuayingshi-java
public static String decryptHex(String str, String str2) {
str = "6cab6feb4e159bdbcb652ffd544a32db308bb2bd2b00f17c9a3d523c69159a0ed7589f602c30130ad2f0213226281767123cac47ca86c8f24511cec75a89b19227ecbae6b5f4ce564561098f2b12d2d4a6285ed146b0d2217924550c9e10256605077a3a4cff0be84e35627f004708f0";
str2 = "10737929DtXZcHh9";
String decrypt = null;
try {
decrypt = aesDecryptByBytes(hexStringToBytes(str), str2);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(decrypt);
return decrypt;
}
public static byte[] hexStringToBytes(String str) {
int length = str.length() / 2;
byte[] bArr = new byte[length];
for (int i = 0; i < length; i++) {
int i2 = i * 2;
bArr[i] = (byte) (((byte) (hexStr.indexOf(str.charAt(i2)) << 4)) | ((byte) hexStr.indexOf(str.charAt(i2 + 1))));
}
return bArr;
}
private static String aesDecryptByBytes(byte[] bArr, String str) throws Exception {
Cipher instance = Cipher.getInstance("AES/CBC/PKCS7Padding");
byte[] bytes = str.getBytes();
instance.init(2, new SecretKeySpec(bytes, "AES"), new IvParameterSpec(bytes));
return new String(instance.doFinal(bArr));
}