我写了一个函数,目的是解密一个大文件,但是当我调用它时我一直收到这个错误:Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
。
有趣的事实是我之前从未经历过这种错误,因为功能似乎有效。
基本上我正在做的是:
几次刷新页面以显示编辑页面后出现错误(所以当我读取它然后将所有内容放在编辑器中,用户可以在其中修改它。) 代码:
module.exports.read = (url) => {
return new Promise(
(resolve, reject) => {
var key = config.aes
var inp = fs.createReadStream("./files/" + url + ".ciocci"); //encrypted file
var decrypt = crypto.createDecipher('aes-256-cbc', key);
var decrypted = fs.createWriteStream('./files/temp/' + url + '.deciocciato'); // decrypted file
inp.pipe(decrypt).pipe(decrypted); // error line here
decrypted.on('finish', () => {
// code not reached
... more stuff