Método Node.js crypto.randomFill()

El método crypto.randomFill() es el mismo que el método crypto.randomBytes() pero la única diferencia es que aquí el primer argumento es bufferque se completará y también tiene una función de devolución de llamada pasada como argumento. Sin embargo, si una función de devolución de llamada no está disponible, se genera el error.

Sintaxis:

crypto.randomFill( buffer, offset, size, callback )

Parámetros: Este método acepta cuatro parámetros como se mencionó anteriormente y se describe a continuación:

  • buffer: este parámetro contiene el tipo de datos Buffer, TypedArray o DataView.
  • offset: Es un número cuyo valor por defecto es 0.
  • tamaño: Es un número cuyo valor por defecto es (buffer.length – offset) .
  • devolución de llamada: es una función con dos parámetros, a saber, err y buf.

Valor devuelto: Devuelve el búfer.

Los siguientes ejemplos ilustran el uso del método crypto.randomFill() en Node.js:

Ejemplo 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'));
});

Producción:

&43Jho0s5v0
Jho0s5v0

Aquí, los dos últimos valores son iguales.

Ejemplo 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'));
});

Producción:

ceVMb

Aquí, cualquier instancia de TypedArray o DataView se pasa como búfer y en cada ejecución obtendrá un resultado diferente.

Referencia: https://nodejs.org/api/crypto.html#crypto_crypto_randomfill_buffer_offset_size_callback

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *