解密文件Node.js时出错

时间:2018-01-23 14:22:45

标签: javascript node.js encryption cryptography


我写了一个函数,目的是解密一个大文件,但是当我调用它时我一直收到这个错误:Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
有趣的事实是我之前从未经历过这种错误,因为功能似乎有效。
基本上我正在做的是:

  • 通过RestAPI打开文件
  • 在前端显示其内容
  • 最终修改其内容
  • 完成编辑后保存文件

几次刷新页面以显示编辑页面后出现错误(所以当我读取它然后将所有内容放在编辑器中,用户可以在其中修改它。) 代码:

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

0 个答案:

没有答案