Node.js verify.update(data[, inputEncoding]) 方法

Node.js verify.update(data[, inputEncoding]) 方法

verify.update() 方法是 Node.js 中 crypto 模块中 verify 类的内置方法。该方法用于验证给定数据中的内容。当未指定输入编码参数并且检测到数据为字符串时,将使用 ‘utf8’ 编码。然而,如果数据类型为 Buffer、TypedArray 或 DataView,则会忽略任何指定的输入编码。

语法:

verify.update(data, inputEncoding)

参数: 此方法接受如上所述的以下参数:

  • data: 此参数定义了数据的类型,如字符串,TypeArray,缓冲区或数据视图。
  • inputEncoding: 此参数定义了输入的编码类型。

返回值: 此方法不返回任何值。

示例1: 在此示例中,我们将看到如何使用更新方法来验证哈希。

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

输出:

true

示例2: 在下面的示例中,我们正在更改数据的内容,然后我们将使用 verify.update() 方法验证数据的内容。

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

输出:

false

参考: https://nodejs.org/api/crypto.html#verifyupdatedata-inputencoding

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程