This function is similar to randomBytes but requires the first
argument to be a Buffer that will be filled. It also
requires that a callback is passed in.
If the callback function is not provided, an error will be thrown.
// The above is equivalent to the following: randomFill(buf, 5, 5, (err, buf) => { if (err) throwerr; console.log(buf.toString('hex')); });
Any ArrayBuffer, TypedArray, or DataView instance may be passed as buffer.
While this includes instances of Float32Array and Float64Array, this
function should not be used to generate random floating-point numbers. The
result may contain +Infinity, -Infinity, and NaN, and even if the array
contains finite numbers only, they are not drawn from a uniform random
distribution and have no meaningful lower or upper bounds.
This API uses libuv's threadpool, which can have surprising and
negative performance implications for some applications; see the UV_THREADPOOL_SIZE documentation for more information.
The asynchronous version of crypto.randomFill() is carried out in a single
threadpool request. To minimize threadpool task length variation, partition
large randomFill requests when doing so as part of fulfilling a client
request.
This function is similar to randomBytes but requires the first argument to be a
Bufferthat will be filled. It also requires that a callback is passed in.If the
callbackfunction is not provided, an error will be thrown.Any
ArrayBuffer,TypedArray, orDataViewinstance may be passed asbuffer.While this includes instances of
Float32ArrayandFloat64Array, this function should not be used to generate random floating-point numbers. The result may contain+Infinity,-Infinity, andNaN, and even if the array contains finite numbers only, they are not drawn from a uniform random distribution and have no meaningful lower or upper bounds.This API uses libuv's threadpool, which can have surprising and negative performance implications for some applications; see the
UV_THREADPOOL_SIZEdocumentation for more information.The asynchronous version of
crypto.randomFill()is carried out in a single threadpool request. To minimize threadpool task length variation, partition largerandomFillrequests when doing so as part of fulfilling a client request.