Node.js 中的 crypto.randomBytes() 方法
的生成cyprtographically强的伪随机数据。在创建的字节中有足够的熵之前,此方法不会完成。但即使在此之后,它也不会超过几毫秒。这种方法基本上创建了一些进一步使用的随机字节。crypto.randomBytes()
语法
crypto.randomBytes(size, [callback])
参数
上述参数描述如下-
size –此参数定义要生成的字节数。大小不得大于2**31–1。
callback –如果方法中发生任何错误,则调用回调。
示例
创建一个具有名称的文件-randomBytes.js并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示-
node randomBytes.js
随机字节.js
//crypto.randomBytes()异步演示示例 //导入加密模块 const crypto = require('crypto'); crypto.randomBytes(64, (err, buf) => { if (err) throw err; console.log(`${buf.length} bytes of random data: ${buf.toString('hex')}`); });输出结果
C:\home\node>> node randomBytes.js 64 bytes of random data: eb2bcebb999407286caea729998e7fa0c089178f8ca43857e73ea3ff66dbe1852af24a4b0199be 9192798a3f8ad6d6475db3621cfacf38dcb0fba5d77d73aaf5
示例
让我们再看一个例子。
//crypto.randomBytes()同步演示示例 //导入加密模块 const crypto = require('crypto'); const buffer = crypto.randomBytes(256); console.log( `${buffer.length} bytes of random data: ${buffer.toString('base64')}`);输出结果
C:\home\node>> node randomBytes.js 256 bytes of random data: n7yfRMo/ujHfBWSF2VFdevG4WRbBoG9Fqwu51+/9ZBUV6Qo88YG7IbcEaIer+g+OgjMv4RyNQ6/67a F5xWmkOR3oA6J6bdAJ1pbstTuhIfItF1PQfP26YXk1QlaoKy/YJxPUngyK4kNG9O04aret4D+2qIq9 BUaQcv+R9Xi014VKNUDZ+YQKEaLHBhJMq6JgehJ56iNbdNJ4+PN7SQwjNdZ8gS76izAwYsSZ7Kuyx2 VzdXIKsLmjleuJ2DZ7/6Yyn8WM9463dhuh0KQ5nwFbgzucvjmdvDjBlGFZBGlKs6AXqYh+0Oe6Ckkv 3OpnXOJs+GExbmnvjaeDQ03khpdJfA==