Node.js verify.verify(object, signature[, signatureEncoding]) 方法

Node.js verify.verify(object, signature[, signatureEncoding]) 方法

在本篇文章中,我们将讨论 verify.verify() 方法 在 NodeJS 的 crypto 模块中的 Verify 类中的用法。verify 类工具用于验证签名。此方法通过提供给定的数据对象和签名来验证签名。

verify 对象在调用 verify.verify() 方法之后不能再次使用。多次调用 verify.verify() 方法将导致抛出错误。

语法:

verify.verify(object, signature, signatureEncoding)

参数: 此方法接受上述三个参数:

  • object: 这将是要验证的对象。 **** 它可以是Object、string、ArrayBuffer、Buffer、TypedArray、DataView、KeyObject或CryptoKey类型。
  • signature: 此参数定义使用的签名类型,如string、ArrayBuffer、Buffer、TypedArray或DataView类型。
  • signatureEncoding: 此参数指定数据的编码方式。

返回值: 此方法返回一个布尔值。如果签名匹配,则返回true,否则返回false。

示例1: 在下面的示例中,我们将验证两个签名。在本例中,由于两个签名相同,所以返回true。

const crypto = require('crypto'); 
  
const { privateKey, publicKey } = 
    crypto.generateKeyPairSync('rsa', { 
        modulusLength: 2048, 
    }); 
  
const sign = crypto.createSign('SHA256'); 
sign.update('GeeksforGeeks'); 
sign.end(); 
  
const signature = sign.sign(privateKey); 
  
const verify = crypto.createVerify('SHA256'); 
verify.update('GeeksforGeeks') 
verify.end(); 
  
console.log(verify.verify(publicKey, signature));

输出:

true

示例2: 在下面的示例中,我们正在验证两个不同的签名。

const crypto = require('crypto'); 
  
const { privateKey, publicKey } = 
    crypto.generateKeyPairSync('rsa', { 
        modulusLength: 2048, 
    }); 
  
const sign = crypto.createSign('SHA256'); 
sign.update('GeeksforGeeks'); 
sign.end(); 
  
const signature = sign.sign(privateKey); 
  
const verify = crypto.createVerify('SHA256'); 
verify.update('Not Same') 
verify.end(); 
  
console.log(verify.verify(publicKey, signature));

输出:

false

参考: https://nodejs.org/api/crypto.html#verifyverifyobject-signature-signatureencoding

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程