El método crypto.createHash() se usa para crear un objeto Hash que se puede usar para crear resúmenes de hash usando el algoritmo indicado.
Sintaxis:
crypto.createHash( algorithm, options )
Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
- algoritmo: Depende de los algoritmos accesibles que son favorecidos por la versión de OpenSSL en la plataforma. Devuelve string. Los ejemplos son sha256 , sha512 , etc.
- opciones: es un parámetro opcional y se usa para controlar el comportamiento de la transmisión. Devuelve un objeto. Además, para funciones hash XOF como ‘shake256’, la opción outputLength se puede usar para determinar la longitud de salida requerida en bytes.
Tipo de retorno: Devuelve el objeto Hash .
Los siguientes ejemplos ilustran el uso del método crypto.createHash() en Node.js:
Ejemplo 1:
javascript
// Node.js program to demonstrate the // crypto.createHash() method // Includes crypto module const crypto = require('crypto'); // Defining key const secret = 'Hi'; // Calling createHash method const hash = crypto.createHash('sha256', secret) // updating data .update('How are you?') // Encoding to be used .digest('hex'); // Displays output console.log(hash);
Producción:
df287dfc1406ed2b692e1c2c783bb5cec97eac53151ee1d9810397aa0afa0d89
Ejemplo 2:
javascript
// Node.js program to demonstrate the // crypto.createHash() method // Defining filename const filename = process.argv[1]; // Includes crypto and fs module const crypto = require('crypto'); const fs = require('fs'); // Creating Hash const hash = crypto.createHash('sha256', 'Geeksforgeeks'); // Creating read stream const input = fs.createReadStream(filename); input.on('readable', () => { // Calling read method to read data const data = input.read(); if (data) // Updating hash.update(data); else { // Encoding and displaying filename console.log(`${hash.digest('base64')} ${filename}`); } }); console.log("Program done!");
Producción:
Program done! n95mt3468ZzAIwu/bbNU7dej6CoFkDRcNaJo7rGpLF4= index.js
Referencia: https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm_options
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA