AES-шифрование с помощью Crypto и дешифрование с помощью CryptoJS возвращает пустую строку - PullRequest
0 голосов
/ 02 апреля 2019

Мой сервер шифрует строку, используя Crypto из node.js.

На стороне клиента я хочу расшифровать строку, используя CryptoJS.Однако в результате я всегда получаю пустую строку.

Шифрование (Crypto):

function encrypt(value) {
  const cipher = crypto.createCipher('aes-256-ctr', 'SECRET_STRING');
  let crypted = cipher.update(value,'utf8','hex');
  crypted += cipher.final('hex');
  return crypted;
}

Расшифровка (CryptoJS):

const decrypt = (value) => {
  const bytes = CryptoJS.enc.Hex.parse(value);
  const decrypted = CryptoJS.AES.decrypt(
    bytes,
    'SECRET_STRING',
    { 
       mode: CryptoJS.mode.ECB, 
       padding: CryptoJS.pad.NoPadding
    },
  );
  return decrypted.toString(CryptoJS.enc.Utf8);
};

Возвращает пустую строку.Что я неправильно понимаю и что я делаю неправильно?

...