Прежде всего, у меня есть 2 разные системы - одна в java, а другая в javascript.У меня есть зашифрованная строка (сделано в Java), у меня также есть SecretKey, который был использован для ее шифрования.Я могу расшифровать его, используя это в Javascript.Я знаю, что результат расшифровки правильный.Поэтому я не могу изменить логику расшифровки.Вот код расшифровки:
decrypt = (value) => {
const cipher = CryptoJS.enc.Base64.parse(value);
const dec = CryptoJS.enc.Utf8.stringify(
CryptoJS.AES.decrypt(
{ ciphertext: cipher },
secretKey,
{ mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.NoPadding }
)
);
return dec;
};
Я пытаюсь зашифровать результат выше, чтобы получить оригинальную зашифрованную строку в javascript.Я пытался сделать прямо противоположное тому, что я делал в расшифровке.Вот код шифрования:
encrypt = (value) => {
var encrypted = CryptoJS.enc.Utf8.parse(
CryptoJS.AES.encrypt(
value, secretKey,
{ mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.NoPadding }
)
);
const cipher = CryptoJS.enc.Base64.stringify(encrypted);
return cipher;
}
Я ожидаю исходную строку, которая была передана, но я не получаю тот же результат.
let decrypted = decrypt("LJalEgQ81qUjrVzhlgFNw==");
console.log("Decrypted:", decrypted);
encrypted = encrypt(decrypted);
console.log("Encrypted:", encrypted);
Любойпомощь приветствуется.Заранее спасибо.