CryptoJS AES加密和解密

时间:2018-10-06 16:00:22

标签: encryption aes cryptojs

首先,我有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);

感谢您的帮助。预先感谢。

0 个答案:

没有答案