小编Tag*_*ada的帖子

使用CryptoJS解密openssl AES

我正在尝试使用CryptoJS 3.1.5解密使用openssl加密的文件.

如果我使用CryptoJS进行加密和解密,一切正常,对于shell中的OpenSSL也是如此,但是当我尝试将CryptoJS与OpenSSL混合时,一切都会出错.

使用以下命令创建文件:

openssl enc -aes-256-cbc -in file.txt -out file.enc -k password
Run Code Online (Sandbox Code Playgroud)

我试着像这样解密:

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
Run Code Online (Sandbox Code Playgroud)

而在另一方面,我做:

fs.readFile('file.txt', function(err, data) {
  var encrypted = CryptoJS.AES.encrypt(
                    data.toString(),
                    "password",
                    { mode : CryptoJS.mode.CBC });

  fs.writeFile('file.enc', encrypted);
});
Run Code Online (Sandbox Code Playgroud)

然后在壳牌:

openssl enc -d -aes-256-cbc -in file.enc -out file2.txt -k password
// Give me this err: bad …
Run Code Online (Sandbox Code Playgroud)

encryption openssl node.js cryptojs

1
推荐指数
1
解决办法
3607
查看次数

标签 统计

cryptojs ×1

encryption ×1

node.js ×1

openssl ×1