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
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.Any
ArrayBuffer
,TypedArray
, orDataView
instance may be passed asbuffer
.While this includes instances of
Float32Array
andFloat64Array
, 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_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 largerandomFill
requests when doing so as part of fulfilling a client request.