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