crypto.randomFill()方法与crypto.randomBytes()方法相同,但唯一的区别在于此处的第一个参数是buffer
它将被填充,并且还具有作为参数传递的回调函数。但是,如果没有回调函数,则会引发错误。
用法:
crypto.randomFill( buffer, offset, size, callback )
参数:此方法接受上述和以下所述的四个参数:
- buffer:此参数保存Buffer,TypedArray或DataView类型的数据。
- offset:它是一个数字,默认值为0。
- size:这是一个数字,其默认值为(buffer.length-offset)。
- callback:该函数具有两个参数,即err和buf。
返回值:它返回缓冲区。
以下示例说明了Node.js中crypto.randomFill()方法的使用:
范例1:
// Node.js program to demonstrate the
// crypto.randomFill() method
// Including crypto module
const crypto = require('crypto');
// Defining buffer
const buf = Buffer.alloc(6);
// Calling randomFill method with two
// of its parameters
crypto.randomFill(buf, (err, buf) => {
if (err) throw err;
// Prints random data in buffer
console.log(buf.toString('ascii'));
});
// Calling randomFill method with all
// its parameters
crypto.randomFill(buf, 3, 2, (err, buf) => {
if (err) throw err;
// Prints random data in buffer
console.log(buf.toString('base64'));
});
// The output of this is same as above
crypto.randomFill(buf, 3, 3, (err, buf) => {
if (err) throw err;
console.log(buf.toString('base64'));
});
输出:
&43Jho0s5v0 Jho0s5v0
在此,最后两个值相同。
范例2:
// Node.js program to demonstrate the
// crypto.randomFill() method
// Including crypto module
const crypto = require('crypto');
// Defining dataview
const datv = new DataView(new ArrayBuffer(6));
// Calling randomFill method with DataView
// instance as buffer
crypto.randomFill(datv, (err, buf) => {
if (err) throw err;
// Prints random data which is encoded
console.log(Buffer.from(buf.buffer,
buf.byteOffset, buf.byteLength)
.toString('ascii'));
});
输出:
ceVMb
在这里,任何TypedArray或DataView实例都作为缓冲区传递,并且在每次运行中您将获得不同的输出。
参考: https://nodejs.org/api/crypto.html#crypto_crypto_randomfill_buffer_offset_size_callback
相关用法
- Node.js GM drawCircle()用法及代码示例
- Node.js GM drawBezier()用法及代码示例
- Node.js GM drawPolyline()用法及代码示例
- Node.js GM drawArc()用法及代码示例
- Node.js GM drawEllipse()用法及代码示例
- Node.js GM monochrome()用法及代码示例
- Node.js GM equalize()用法及代码示例
- Node.js GM enhance()用法及代码示例
- Node.js GM drawPolygon()用法及代码示例
- Node.js GM whitePoint()用法及代码示例
注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | crypto.randomFill() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。