gpt4 book ai didi

node.js - 解密有内容的加密pdf后,解密结果为空

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:09 29 4
gpt4 key购买 nike

使用 Node.js 加密库,我像这样加密了 PDF:

//encrypting the pdf
fs.readFile('./full.pdf', function (err,data) {
if (err) {
return console.log(err);
}
var cipher = crypto.createCipher('aes-256-cbc', encPassword);
var text = data;
var crypted = cipher.update(text,'utf8','hex');
crypted += cipher.final('hex');
console.log(crypted);
});

然后我采用crypted并运行它:

var decipher = crypto.createDecipher('aes-256-cbc', encPassword);
var dec = decipher.update(args[0],'hex','utf8');
dec += decipher.final('utf8');

fs.writeFileSync('./output.pdf', dec);

./output.pdf 现在是一张空白页,其中应该充满原始内容。

注意

当我使用相同的代码(不包括 fs.writeFileSync('./output.pdf', dec);)来加密和解密一个简单的字符串时,它可以完美地加密和解密。

最佳答案

问题出在写作上。解密dec输出一个字符串。该字符串必须转换为二进制缓冲区,然后写入文件。

现在就像一个魅力:

var decipher = crypto.createDecipher('aes-256-cbc', encPassword);
var dec = decipher.update(args[0],'hex','binary');
dec += decipher.final('binary');

var buffer = new Buffer(dec, "binary");
fs.writeFileSync('./output.pdf', buffer);

关于node.js - 解密有内容的加密pdf后,解密结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261292/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com