El método crypto.createVerify() se usa para crear un objeto Verify que usa el algoritmo indicado. Además, puede usar crypto.getHashes() para acceder a los nombres de todos los algoritmos de firma disponibles.
Sintaxis:
crypto.createVerify( algorithm, options )
Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
- algoritmo: Es un valor de tipo string. Se puede crear una instancia de Sign aplicando el nombre de un algoritmo de firma, como ‘RSA-SHA256’, en lugar de un algoritmo de resumen.
- opciones: es un parámetro opcional que se utiliza para controlar el comportamiento de la secuencia. Devuelve un objeto.
Valor devuelto: Devuelve Verificar objeto.
Los siguientes ejemplos ilustran el uso del método crypto.createVerify() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // crypto.createVerify() method // Including crypto module const crypto = require('crypto'); // Creating verify object with its algo const verify = crypto.createVerify('SHA256'); // Returns the 'Verify' object console.log(verify);
Producción:
Verify { _handle: {}, _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, bufferedRequest: null, lastBufferedRequest: null, pendingcb: 0, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: false, bufferedRequestCount: 0, corkedRequestsFree: { next: null, entry: null, finish: [Function: bound onCorkedFinish] } }, writable: true, domain: null, _events: [Object: null prototype] {}, _eventsCount: 0, _maxListeners: undefined }
Ejemplo 2:
// Node.js program to demonstrate the // crypto.createVerify() method // Including crypto module const crypto = require('crypto'); // Creating verify object with its algo const verify = crypto.createVerify('SHA256'); // Writing data to be signed and verified verify.write('some text to sign'); // Calling end method verify.end(); // Beginning public key const l1 = "-----BEGIN PUBLIC KEY-----\n" // Encrypted data const l2 = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXIvPbzLjaPLd8jgiv1TL/X8PXpJNgDkGRj9U9Lcx1yKURpQFVavcMkfWyO8r7JlZNMax0JKfLZUM1IePRjHlFw==" // Ending public key const l3 = "\n-----END PUBLIC KEY-----" // Constructing public key const publicKey = l1 + l2 + l3 // Signature to be verified const signature = "MEYCIQCPfWhpzxMqu3gZWflBm5V0aetgb2/S+SGyGcElaOjgdgIhALaD4lbxVwa8HUUBFOLz+CGvIioDkf9oihSnXHCqh8yV"; // Prints true if verified else false console.log(verify.verify(publicKey, signature));
Producción:
false
Referencia: https://nodejs.org/api/crypto.html#crypto_crypto_createverify_algorithm_options
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA