Función Node.js crypto.verify()

El crypto.verify()  es un método del módulo incorporado de node.js crypto que se usa para verificar la firma de los datos que se codifican utilizando un tipo diferente de funciones de cifrado como el algoritmo SHA256, etc.

Sintaxis:

crypto.verify(algorithm, data, publicKey, signature)

Parámetros:

  • algoritmo:  Es un valor de tipo string. Una firma se puede verificar aplicando el nombre de los algoritmos de firma, como ‘SHA256’. El algoritmo debe ser el mismo en el que se creó la firma.
  • datos: el argumento de datos debe ser una instancia del búfer, la array tipificada o la vista de datos.
  • clave: debe ser la clave pública del objeto clave. Si no tiene ninguna clave pública, puede crear claves privadas y públicas utilizando el método crypto.generateKeyPairSync() .
  • firma: el argumento de la firma debe ser una instancia de Buffer, Typed Array o Data View.

Valor devuelto: esta función devuelve un valor booleano. Devuelve True si se verifica una firma; de lo contrario, false .

Ejemplo:

Nombre de archivo: index.js

Javascript

// Importing Required Modules
const crypto = require('crypto');
const buffer = require('buffer');
 
// Creating a private key
const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', {
  modulusLength: 2048,
});
// Using Hashing Algorithm
const algorithm = "SHA256";
 
// Converting string to buffer
const data = Buffer.from("I Love GeeksForGeeks");
 
// Sign the data and returned signature in buffer
const signature = crypto.sign(algorithm, data , privateKey);
 
// Verifying signature using crypto.verify() function
const isVerified = crypto.verify(algorithm, data, publicKey, signature);
 
// Printing the result
console.log(`Is signature verified: ${isVerified}`);

Ejecute index.js usando el siguiente comando:

node index.js

Producción:

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

Publicación traducida automáticamente

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