Método Node.js hash.digest()

El método hash.digest() es una función incorporada de la clase Hash del módulo criptográfico . Esto se usa para crear el resumen de los datos que se pasan al crear el hash. Por ejemplo, cuando creamos un hash, primero creamos una instancia de Hash usando crypto.createHash() y luego actualizamos el contenido del hash usando la función update() pero hasta ahora no obtuvimos el valor hash resultante, así que para obtener el valor hash usamos la función de resumen que ofrece la clase Hash.

Esta función toma una string como entrada que define el tipo del valor de retorno, por ejemplo, hexadecimal o base64 . Si deja este campo obtendrá Buffer como resultado.

Sintaxis:

hash.digest([encoding])

Parámetro: Esta función toma el siguiente parámetro:

  • codificación: este método toma un parámetro opcional que define el tipo de salida de retorno. Puede usar ‘hex’ o ‘base64’ como parámetro.

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

npm install crypto

Valor de retorno: esta función devuelve una string cuando se pasa el parámetro y devuelve un objeto de búfer cuando no se pasa ningún parámetro. Supongamos que pasamos el parámetro base64 , entonces el valor devuelto será una string de codificación base64 .

Ejemplo 1: Generación de valores hash de la string GeeksForGeeks en forma de hexadecimal y base64.

índice.js

// Importing the crypto library
const crypto = require("crypto")

// Defining the algorithm
let algorithm = "sha256"

// Defining the key
let key = "GeeksForGeeks"

// Creating the digest in hex encoding
let digest1 = crypto.createHash(algorithm).update(key).digest("hex")

// Creating the digest in base64 encoding
let digest2 = crypto.createHash(algorithm).update(key).digest("base64")

// Printing the digests
console.log("In hex Encoding : \n " + digest1 + "\n")
console.log("In base64 encoding: \n " + digest2)

Publicación traducida automáticamente

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