Я искал здесь и гуглил, но не смог найти то, что искал. Похоже, это должно быть довольно просто, но несколько похожих тем остались без ответа как 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», но он показывает некоторые бессмысленные символы. Я знаю, что это должно быть легко найти, но я не могу понять, что я делаю неправильно. Я абсолютно нуб, когда дело доходит до шифрования. Любая помощь здесь?