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

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

语法

crypto.createVerify(algorithm, [options])

参数

上述参数描述如下 -

  • algorithm  - 在创建验证对象/实例时,它需要输入要使用的算法名称。

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

示例

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

node createVerify.js

创建验证.js

//Node.jsprogram 来演示 createVerify() 方法的使用

// 导入加密模块

const crypto = require('crypto');

// 使用输入算法创建验证对象

const verify = crypto.createVerify('SHA256');

// 返回验证对象

console.log(verify);

输出结果
C:\home\node>> 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.jsprogram 来演示 createVerify() 方法的使用

// 导入加密模块

const crypto = require('crypto');

// 从 SHA256 算法创建验证对象

const verify = crypto.createVerify('SHA256');

// 写入以下数据进行签名和验证

verify.write('TutorialPoint');

// 结束方法

verify.end();

   // 开始执行公钥

   const l1 = "-----BEGIN PUBLIC KEY-----\n"

   // 加密数据

   const l2 = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXIvPbzLjaPLd8jgiv1TL/X8PXpJNgDkGRj9U9Lcx1

      yKURpQFVavcMkfWyO8r7JlZNMax0JKfLZUM1IePRjHlFw=="

   // 完成公钥执行

   const l3 = "\n-----END PUBLIC KEY-----"

   // 连接所有公钥

   const publicKey = l1 + l2 + l3

   // 将被验证的签名

   const signature = "MEYCIQCPfWhpzxMqu3gZWflBm5V0aetgb2/S+SGyGcElaOjgdgIhALaD4lbxVwa8HUUBFOLz+CGvI

ioDkf9oihSnXHCqh8yV";

   // 如果签名被验证,则打印为真,否则为假

   console.log(verify.verify(publicKey, signature));

输出结果
C:\home\node>> node createVerify.js

false

以上是 Node.js 中的 crypto.createVerify() 方法 的全部内容, 来源链接: utcz.com/z/322735.html

回到顶部