Зашифруйте в CryptoJS и расшифруйте в NodeJS Crypto module - PullRequest
0 голосов
/ 03 ноября 2018

Я искал здесь и гуглил, но не смог найти то, что искал. Похоже, это должно быть довольно просто, но несколько похожих тем остались без ответа как SO. Я надеюсь, что получу ответ. Итак, у меня есть эта скрипка JS Fiddle , которая шифрует и дешифрует в CryptoJS, пока проблем нет. Код здесь:

var options = { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, keySize: 256 };  

var encrypted = CryptoJS.AES.encrypt('encrypt me', 'A37u172sSFS9O9JNHs82u38djdncnvyz', options);


var decrypted = CryptoJS.AES.decrypt(encrypted, "A37u172sSFS9O9JNHs82u38djdncnvyz", options);  
var plaintext = decrypted.toString(CryptoJS.enc.Utf8);

Но когда я беру зашифрованную строку и пытаюсь расшифровать, я не могу. Смотрите эту скрипту узла: Узловая скрипка , а код:

const crypto = require('crypto');

const mykey = crypto.createDecipher('aes-256-cbc', 'A37u172sSFS9O9JNHs82u38djdncnvyz');

//A37u172sSFS9O9JNHs82u38djdncnvyz9
const mystr = mykey.update('U2FsdGVkX18mFQOkolgDJ0cjOfYqiqKCUGdNoA2nESI=', 'base64', 'utf8');

В идеале, строка mystr должна возвращать мне текст «encrypt me», но он показывает некоторые бессмысленные символы. Я знаю, что это должно быть легко найти, но я не могу понять, что я делаю неправильно. Я абсолютно нуб, когда дело доходит до шифрования. Любая помощь здесь?

...