导入节点模块会产生错误

时间:2016-03-21 06:42:05

标签: node.js

我在app.js中导入了节点模块'request',但是一旦我的脚本读了,

var request = require('request'); 

它会产生如下错误。有人有想法吗?

错误讯息:

  

[SECURITY] node-uuid:crypto不可用,回到不安全的Math.random()

1 个答案:

答案 0 :(得分:4)

请求取决于库node-uuid。 'node-uuid'用于生成随机UUID's,也称为GUID。

要获得真正随机的UUID,node-uuid需要加密安全的随机源。通常它会使用crypto.randomBytes(在节点中)或crypto.getRandomValues(在浏览器中),但如果不存在,它将回退到Math.Random。但是,Math.random 无法生成加密安全随机数read here for more info)。

请求使用UUID进行OAuth nonce和multipart文件上传。如果您使用OAuth,则没有安全的随机nonce可能是一个安全问题。

加密模块存在于所有节点安装中(据我所知),因此您可能正在Web浏览器环境中运行此代码。您可能正在运行不支持加密模块的Web浏览器,因此Math.random是您唯一的选择。您可以查看can i use page以查看您的浏览器是否支持getRandomValues