Node.js 中的 crypto.createVerify() 方法

node.jsjavascriptweb developmentfront end technology

crypto.createVerify() 将创建并返回一个使用参数中传递的算法的验证对象。可以使用 crypto.getHashes() 获取所有可用签名算法的名称。在某些情况下,您可以使用签名算法的名称(例如"RHA-SHA256")而不是摘要算法来创建 Verify 实例。

语法

crypto.createVerify(algorithm, [options])

参数

上述参数描述如下 −

  • 算法 –它接受在创建验证对象/实例时要使用的算法名称的输入。

  • options – 这是一个可选参数,可用于控制流行为。

示例

创建一个名为 – createVerify.js 的文件并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 −

node createVerify.js

createVerify.js

// Node.js 程序演示 createVerify() 方法的使用

// 导入加密模块
const crypto = require('crypto');

// 使用输入算法创建验证对象
const verify = crypto.createVerify('SHA256');

// 返回验证对象
console.log(verify);

输出

C:\home
ode>> node createVerify.js 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,    _events: [Object: null prototype] {},    _eventsCount: 0,    _maxListeners: undefined }

示例

我们再看一个例子。

// Node.js 程序演示 createVerify() 方法的使用

// 导入 crypto 模块
const crypto = require('crypto');

// 从 SHA256 算法创建 verify 对象
const verify = crypto.createVerify('SHA256');

// 写入以下要签名和验证的数据
verify.write('TutorialPoint');

// 结束该方法
verify.end();

   // 开始执行公钥
   const l1 = "-----BEGIN PUBLIC KEY-----
"    // 加密数据    const l2 = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXIvPbzLjaPLd8jgiv1TL/X8PXpJNgDkGRj9U9Lcx1 yKURpQFVavcMkfWyO8r7JlZNMax0JKfLZUM1IePRjHlFw=="    // 完成公钥执行    const l3 = "
-----END PUBLIC KEY-----"    // 连接所有公钥    const publicKey = l1 + l2 + l3    // 将要验证的签名    const signature = "MEYCIQCPfWhpzxMqu3gZWflBm5V0aetgb2/S+SGyGcElaOjgdgIhALaD4lbxVwa8HUUBFOLz+CGvI ioDkf9oihSnXHCqh8yV";    // 如果签名被验证,则打印 true,否则打印 false    console.log(verify.verify(publicKey, signature));

输出

C:\home
ode>> node createVerify.js false

相关文章