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