Код: Выделить всё
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();
}
Код: Выделить всё
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]