Método Node.js hash.copy()

El método hash.copy( ) es una función incorporada de la clase Hash del módulo criptográfico. Este método se usa para hacer una copia del estado actual del hash. Este método se puede llamar varias veces para crear varias copias del hash. Este método generará un error si se llama después de que se haya llamado al método de resumen.

Esta función toma un argumento opcional para controlar el comportamiento del flujo, como la longitud de salida.

Sintaxis:

hash.copy([,Optional ])

Parámetro: Esta función toma un parámetro que es opcional:

  • Comportamiento de flujo de datos.

Valor devuelto: este método devuelve la copia del estado actual del hash.

Instalación del módulo: Instale el módulo requerido usando el siguiente comando:

npm install crypto

Ejemplo 1: Haz una copia del hash una sola vez.

index.js

// Importing crypto module
const crypto = require('crypto');
  
// Creating Hash instance with createHash
const hash = crypto.createHash('sha256');
  
// use update to add data
hash.update('I love GeeksForGeeks');
  
// Making the copy of the current hash
const hashCopy = hash.copy();
  
// Printing the hash value
console.log("Original Hash Value : " + hash.digest('hex'));
console.log("Copied Hash Value : " + hashCopy.digest('hex'));

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Original Hash Value : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196
Copied Hash Value : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196

Ejemplo 2: Haz una copia del hash varias veces.

index.js

const crypto = require('crypto');
  
// Creating Hash instance with createHash
const hash = crypto.createHash('sha256');
  
// Adding data to hash
hash.update('I love GeeksForGeeks');
  
// Making copy of the current hash
const hashCopy1 = hash.copy();
const hashCopy2 = hash.copy();
  
// Printing the hash value
console.log("Original Hash Value : " + hash.digest('hex'));
console.log("Copy 1 : " + hashCopy1.digest('hex'));
console.log("Copy 2 : " + hashCopy2.digest('hex'));

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Original Hash Value : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196
Copy 1 : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196
Copy 2 : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196

Ejemplo 3: actualizar el valor hash copiado.

index.js

//Importing crypto module
const crypto = require('crypto');
  
// Creating Hash instance with createHash
const hash = crypto.createHash('sha256');
  
// Adding data to hash
hash.update('I love GeeksForGeeks');
  
// Making copy of the current hash
const unchangedCopy = hash.copy();
const updatedCopy = hash.copy();
  
// Update the old data
updatedCopy.update('Because I love coding')
  
// Printing the hash value
console.log("Original Hash Value : " + hash.digest('hex'));
console.log("Unchanged Copy : " + unchangedCopy.digest('hex'));
console.log("Updated Copy : " + updatedCopy.digest('hex'));

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Original Hash Value : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196
Unchanged Copy : 
  5a302d3c930d9e938c5326d7bb863afdc024b9ce77e30e99c4b82983350f8196
Updated Copy : 
  e0789790d7da870830a679828c722f74f3840d4a6483f5babfb62c4d19884c9e

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

Publicación traducida automáticamente

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