Использование CryptoJS для дешифрования после шифрования OpenSSL

Я использую OpenSSL для шифрования текстового файла с надписью «Hello World» внутри, используя следующую команду на терминале:

openssl enc -aes-128-ctr -in file.txt -out file-out-64.txt -base64 -A
-K 0123456789abcdef0123456789abcdef -iv 00000000000000000000000000000000`

Итак, я использую AES-128 (режим CTR) с этим фиктивным ключом и IV и генерирую base64 в конце, получая следующий результат: Mc6prldI + uuh5Ko =

Я хочу расшифровать это с помощью CryptoJS и использую следующий код:

CryptoJS.AES.decrypt(
  "Mc6prldI+uuh5Ko=",
  CryptoJS.enc.Hex.parse("0123456789abcdef0123456789abcdef"),
  { 
    iv   : CryptoJS.enc.Hex.parse("00000000000000000000000000000000"),
    mode : CryptoJS.mode.CTR 
  }
);

Я ожидал вывода «Hello World», но результат оказался пустой. Кто-нибудь может помочь?


person Joao Almeida    schedule 14.05.2015    source источник


Ответы (2)


Я нашел решение. В параметре параметров мне пришлось добавить отступы с помощью NoPadding

var decoded   = CryptoJS.AES.decrypt("Mc6prldI+uuh5Ko=", CryptoJS.enc.Hex.parse("0123456789abcdef0123456789abcdef"), { iv: CryptoJS.enc.Hex.parse("00000000000000000000000000000000"), padding: CryptoJS.pad.NoPadding, mode: CryptoJS.mode.CTR });
person Joao Almeida    schedule 14.05.2015

Пробовали это?

var decrypt = CryptoJS.AES.decrypt(CryptoJS.enc.Base64.parse("Mc6prldI+uuh5Ko="), CryptoJS.enc.Hex.parse("0123456789abcdef0123456789abcdef"), { iv: CryptoJS.enc.Hex.parse("00000000000000000000000000000000"), mode: CryptoJS.mode.CTR });
person SharpEdge    schedule 14.05.2015
comment
Если вы предлагаете что-то, что не является ответом, вам, вероятно, следует предложить это в качестве комментария. - person jww; 14.05.2015
comment
Вы правы, но код не отображается в области комментариев - person SharpEdge; 14.05.2015