Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
Node.js 随机npm模块是否总是创建加密安全字符串?_Node.js_Random - Fatal编程技术网

Node.js 随机npm模块是否总是创建加密安全字符串?

Node.js 随机npm模块是否总是创建加密安全字符串?,node.js,random,Node.js,Random,我正在使用这个模块生成加密安全的验证码,以便在我的网站上注册用户。文档()说明了以下有关生成加密安全字符串的内容: 随机化(模式、长度、选项) 随机化.isCrypto 当使用加密安全函数生成随机数时,randomize.isCrypto将为真。当使用的函数为Math.random时,该值将为false 我是否有办法确保randomize.isCrypto始终正确?我之所以这么问,是因为文档没有明确说明如何将其设置为true?查看,我们可以看到,随机性实际上是由一个函数提供的 该包包含两个实现:

我正在使用这个模块生成加密安全的验证码,以便在我的网站上注册用户。文档()说明了以下有关生成加密安全字符串的内容:

随机化(模式、长度、选项)

随机化.isCrypto

当使用加密安全函数生成随机数时,randomize.isCrypto将为真。当使用的函数为Math.random时,该值将为false

我是否有办法确保randomize.isCrypto始终正确?我之所以这么问,是因为文档没有明确说明如何将其设置为true?

查看,我们可以看到,随机性实际上是由一个函数提供的

该包包含两个实现:

  • 一种尝试查找加密库的方法,如果找不到,则返回到
    math.random
  • 一种经常使用的语言。如果这不可用,则在执行
    require
    行时,模块只会出错
因此,如果在node.js上下文中使用它,可以合理地确定随机性总是来自加密强度源。您还可以确信,如果有强大的随机性来源,它将被使用

因此,如果没有很强的随机性来源,你所能做的一切都是有意义的错误——如果它不存在,你就不能创建一个。因此,在使用该功能之前,请检查
randomatic
模块上的
isCrypto
导出,如果不正确,则抛出错误:

var randomize=require('randomatic');
如果(!randomize.isCrypto){
抛出“拒绝使用非加密随机源生成密码”;
}
通过查看,我们可以看到,随机性实际上是由一个函数提供的

该包包含两个实现:

  • 一种尝试查找加密库的方法,如果找不到,则返回到
    math.random
  • 一种经常使用的语言。如果这不可用,则在执行
    require
    行时,模块只会出错
因此,如果在node.js上下文中使用它,可以合理地确定随机性总是来自加密强度源。您还可以确信,如果有强大的随机性来源,它将被使用

因此,如果没有很强的随机性来源,你所能做的一切都是有意义的错误——如果它不存在,你就不能创建一个。因此,在使用该功能之前,请检查
randomatic
模块上的
isCrypto
导出,如果不正确,则抛出错误:

var randomize=require('randomatic');
如果(!randomize.isCrypto){
抛出“拒绝使用非加密随机源生成密码”;
}

当系统没有CSPRNG时,它不能使用CSPRNG。(好吧,我想可以,但是不行。)那么你还有什么其他的模块可以推荐吗?我需要生成6位随机数。当系统没有CSPRNG时,它不能使用CSPRNG。(好吧,我想可以,但是不行。)那么你还有什么其他的模块可以推荐吗?我需要生成6位随机数