Función Node.js crypto.scryptSync( )

crypto.scryptSync () es una función incorporada que proporciona una implementación de cifrado síncrono en Node.js. scrypt es una función de derivación de clave basada en contraseña. Está destinado a ser costoso desde el punto de vista computacional y de memoria. Entonces, los ataques de fuerza bruta no tienen éxito.

Sintaxis:

crypto.scryptSync(password, salt, keylen[, options])

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

  • contraseña: puede contener datos de tipo string, búfer, TypedArray o DataView.
  • sal: contiene datos de tipo string, búfer, TypedArray o DataView. Debe ser lo más único posible. Además, se recomienda que salt sea aleatorio y tenga una longitud mínima de 16 bytes.
  • keylen: Denota la longitud de la clave, y debe ser un número.
  • opciones: es de tipo Objeto y tiene siete parámetros, a saber, costo, tamaño de bloque, paralelización, N, r, p y maxmem.

Valor devuelto : Devuelve un búfer.

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

Ejemplo 1:

app.js

// Example of  crypto.scryptSync() Method
  
// Including crypto module in the app.js. 
import crypto from 'crypto'
  
// Calling scryptSync() method with some of its parameter 
const keyExample = crypto.scryptSync('GeeksforGeeks', 
                                     'gfggfg', 32);
  
// Prints result key as buffer 
console.log("The key in the form of buffer is:",keyExample);  
  
  
// Calling scryptSync() method with the parameter N 
const keyExample2 = crypto.scryptSync('GFG_ARTICLE', 'GFGGFG', 64, { N: 512 });
  
// Prints result key as buffer 
console.log("The key in the form of buffer is :",keyExample2);
node app.js

Producción:

The key in the form of buffer is : <Buffer 
d9 9d b7 7e 7c 25 cb 39 db 3b 16 6b b8 47 73 43 4e 
96 72 9c 02 b3 55 7b 7d 66 f5 54 e6 e3 a0 e6>

The key in the form of buffer is : <Buffer 
26 c4 91 3f a7 03 b8 30 7a b5 bf a6 fe de 34 aa 46 
8c b5 dd b6 0d ce 5a 5e 03 91 a1 7c 7d ba d0 5b d6 
62 8e 11 3a 45 f6 41 a2 be b2 39 c9 57 5a 78 55 ... 
14 more bytes>

Ejemplo 2:

app.js

// Example of  crypto.scryptSync() Method
  
// Including crypto module in the app.js. 
import crypto from 'crypto'
  
// Defining salt as typed array 
 const arr = new Float64Array(8.0)
  
// Calling scryptSync() method with some of its parameter 
const keyExample = crypto.scryptSync('gghhgh', arr, 16);
  
// Prints result key as buffer 
console.log("The key in the form of ASCII is :"
             ,keyExample.toString("ascii")); 
  
  
// Defining salt as data view 
const arr1= new DataView(new ArrayBuffer(17)); 
  
// Calling scryptSync() method with the parameter N 
const keyExample2 = crypto.scryptSync('jbjbb', arr1, 16, { N: 16 });
  
// Prints result key as buffer 
console.log("The key in the form of hex is :",keyExample2.toString('hex'));
node app.js

Producción:

The key in the form of ASCII is: k&q0Y4EQ_72
The key in the form of hex is : 
29dcb56a3d91f7be66de7444bc7ac605

Publicación traducida automáticamente

Artículo escrito por _sh_pallavi 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 *