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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。