我在app.js中导入了节点模块'request',但是一旦我的脚本读了,
var request = require('request');
它会产生如下错误。有人有想法吗?
错误讯息:
[SECURITY] node-uuid:crypto不可用,回到不安全的Math.random()
答案 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
。