當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Node.js crypto.createVerify()用法及代碼示例

crypto.createVerify()方法用於創建使用所述算法的驗證對象。此外,您可以使用crypto.getHashes()來訪問所有可用簽名算法的名稱。

用法:

crypto.createVerify( algorithm, options )

參數:該方法接受上述和以下所述的兩個參數:



  • algorithm:它是一個字符串類型值。可以通過應用簽名算法(例如“ RSA-SHA256”)的名稱來代替摘要算法來創建Sign實例。
  • options:它是一個可選參數,用於控製流的行為。它返回一個對象。

返回值:它返回驗證對象。

以下示例說明了Node.js中crypto.createVerify()方法的使用:

範例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);

輸出:

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 }

範例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));

輸出:

false

參考: https://nodejs.org/api/crypto.html#crypto_crypto_createverify_algorithm_options




相關用法


注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 Node.js | crypto.createVerify() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。