Как зашифровать декрипты данных, зашифрованные с использованием крипто-JS (AES ECB) в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как зашифровать декрипты данных, зашифрованные с использованием крипто-JS (AES ECB) в Java?

Сообщение Anonymous »

Как я могу расшифровать данные в Java, которые были зашифрованы с использованием Crypto-JS (node.js)? Вот код шифрования JavaScript: < /p>

Код: Выделить всё

const encrypt = (input, key) => {
const encodedKey = CryptoJS.enc.Hex.parse(key.padStart(64, '0'));
return CryptoJS.AES.encrypt(input, encodedKey, {
mode: CryptoJS.mode.ECB
}).toString();
}
Я пытался достичь того же шифрования/дешифрования в Java:

Код: Выделить всё

public static String encrypt(String userId, String key) throws Exception {
String paddedHexKey = String.format("%64s", key).replace(' ', '0');
byte[] keyBytes = hexStringToByteArray(paddedHexKey);
SecretKeySpec secretKey = new SecretKeySpec(keyBytes, "AES");

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);

byte[] encryptedBytes = cipher.doFinal(userId.getBytes(StandardCharsets.UTF_8));
return Base64.getEncoder().encodeToString(encryptedBytes);
}

private static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16)  с кодом> с кодом> с кодом> с кодом> с кодом> с кодом> с кодом> с кодом> с кодом> с кодом> с кодом «/p>  ». /> 
[*]  output Crypto-JS [/b]: hwzfw6coqto9k+2+et9auq ==   (java не дешифрует это) 
 [b] java [/b]: e2opwvvy1mqw7w7w7w qust3rvv7w7 wqu qust world : e2opwvvy1mqw7 wqu.  (не соответствует результату крипто-JS)> 

Подробнее здесь: [url]https://stackoverflow.com/questions/79701319/how-to-encrypt-decrypt-data-encrypted-using-crypto-js-aes-ecb-in-java[/url]

Вернуться в «JAVA»