Я пытаюсь расшифровать файл, зашифрованный с помощью openssl, с помощью CryptoJS 3.1.5.Decrypt openssl AES с CryptoJS
Все работает нормально, если я шифрую и расшифровываю с помощью CryptoJS, то же самое касается OpenSSL в оболочке, но когда я пытаюсь смешивать CryptoJS с OpenSSL, все идет не так.
Файл создается с помощью следующей команды:
openssl enc -aes-256-cbc -in file.txt -out file.enc -k password
, и я пытаюсь расшифровать так:
fs.readFile('file.enc', function(err, data) {
var decrypted = CryptoJS.AES.decrypt(
data.toString(),
"password",
{ mode : CryptoJS.mode.CBC }
);
console.log(decrypted.toString(CryptoJS.enc.Utf8));
});
// Give me this err: Uncaught Error: Malformed UTF-8 data
И по-другому, я:
fs.readFile('file.txt', function(err, data) {
var encrypted = CryptoJS.AES.encrypt(
data.toString(),
"password",
{ mode : CryptoJS.mode.CBC });
fs.writeFile('file.enc', encrypted);
});
А затем в Shell:
openssl enc -d -aes-256-cbc -in file.enc -out file2.txt -k password
// Give me this err: bad magic number
Я пропустил что-то очевидное?
Почему вы используете CryptoJS в Node.js, если есть интегрированный модуль 'crypto'. Кроме того, какой модуль CryptoJS вы используете? –
Мне нужен CryptoJS 3.1.5 Я столкнулся с подобной проблемой, используя модуль crypto nodejs, я могу опубликовать больше кода примера, если вы хотите. – Tagada
Извините, я использую этот: https://www.npmjs.com/package/crypto-js – Tagada