Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs-加密错误-此。\u handle.update(数据、编码);_Javascript_Node.js_V8 - Fatal编程技术网

Javascript Nodejs-加密错误-此。\u handle.update(数据、编码);

Javascript Nodejs-加密错误-此。\u handle.update(数据、编码);,javascript,node.js,v8,Javascript,Node.js,V8,我使用的是node v4.8.0(npm v3.10.10),在我的服务代码中,我使用加密生成一个哈希,如下所示 hash = crypto.createHash('sha256') .update(val1+val2+JSON.stringify(val3), 'utf8') .digest('hex'); 当我构建应用程序时,它失败了,出现了下面的错误,几周前它还在工作,突然间就停止了出错。如果我知道如何克服这个问题,这似乎是一个可行的解

我使用的是node v4.8.0(npm v3.10.10),在我的服务代码中,我使用加密生成一个哈希,如下所示

hash = crypto.createHash('sha256')
             .update(val1+val2+JSON.stringify(val3), 'utf8')
             .digest('hex');
当我构建应用程序时,它失败了,出现了下面的错误,几周前它还在工作,突然间就停止了出错。如果我知道如何克服这个问题,这似乎是一个可行的解决方案,但并没有完全实现,因为我没有明确使用web pack,因为我处理的是API而不是客户端应用程序

错误:

crypto.js:70
this._handle.update(data, encoding);
^

TypeError: Not a string or buffer
 at TypeError (native)
 at Hash.update (crypto.js:70:16)
 at Object.<anonymous> (/srv/approot/node_modules/v8flags/index.js:14:81)
 at Module._compile (module.js:409:26)
 at Object.Module._extensions..js (module.js:416:10)
  ......
crypto.js:70
这个._handle.update(数据、编码);
^
TypeError:不是字符串或缓冲区
at TypeError(本机)
在Hash.update上(crypto.js:70:16)
反对。(/srv/approt/node_modules/v8flags/index.js:14:81)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
......
这对我很有用


因此,我猜您的数据中有一个是空的,或者不是字符串或缓冲区。

在构建应用程序时出现此错误,因此想知道为什么在构建应用程序时会检查这些值,并且上面的哈希仅在应用程序成功部署后才能执行的特定场景中创建。想知道为什么它在构建阶段失败。