当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js crypto.verify()用法及代码示例


crypto.verify()是node.js crypto内置模块的一种方法,用于验证使用其他类型的哈希函数(例如SHA256算法等)进行哈希处理的数据的签名。

用法:

crypto.verify(algorithm, data, publicKey, signature)

参数:

  • algorithm: 它是一个string-type值。可以通过应用签名算法的名称来验证签名,例如“ SHA256”。该算法必须与创建签名时使用的算法相同。
  • data:data参数必须是缓冲区,类型数组或数据视图的实例。
  • key:它应该是 key 对象的公钥。如果没有任何公钥,则可以使用crypto.generateKeyPairSync()方法创建私钥和公钥。
  • signature:signature参数必须是Buffer,Typed Array或Data View的实例。

返回值:该函数返回一个布尔值。如果签名经过验证,则返回True,否则返回false。

例:



index.js


// Importing Required Modules
const crypto = require('crypto');
const buffer = require('buffer');
  
// Creating a private key
const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', {
  modulusLength:2048,
});
// Using Hashing Algorithm
const algorithm = "SHA256";
  
// Converting string to buffer 
const data = Buffer.from("I Love GeeksForGeeks");
  
// Sign the data and returned signature in buffer 
const signature = crypto.sign(algorithm, data , privateKey);
  
// Verifing signature using crypto.verify() function
const isVerified = crypto.verify(algorithm, data, publicKey, signature);
  
// Printing the result 
console.log(`Is signature verified:${isVerified}`);

使用以下命令运行index.js:

node index.js

输出:

参考:https://nodejs.org/api/crypto.html#crypto_crypto_verify_algorithm_data_key_signature

相关用法


注:本文由纯净天空筛选整理自braktim99大神的英文原创作品 Node.js crypto.verify() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。