Node.js crypto.setEngine() 函数

Node.js crypto.setEngine() 函数

Node.js 是一个跨平台的开源后端JavaScript运行环境,使用V8引擎在网页浏览器之外执行JavaScript代码。Node.js允许开发者使用JavaScript创建命令行工具和服务器端脚本,即在向用户的浏览器发送页面之前在服务器上运行脚本。加密功能通过 crypto 模块提供,该模块包括对OpenSSL的哈希、HMAC、密码、解码、签名和验证方法的包装器。

crypto.setEngine() 函数可以加载和配置某些或所有OpenSSL函数的引擎,由标志选择。

语法:

crypto.setEngine(engine[, flags])

参数:

  • engine: 这是引擎的ID或共享库的路径。
  • flags: 标志位采用一个或多个标志的位字段。用于选择函数类别。默认值是ENGINE_METHOD_ALL。

示例1: 在名为index.js的文件旁边创建一个node.js项目,并写入以下代码。

const crypto = require("crypto"); 
  
crypto.setEngine("dynamic"); 
const secret = 'geeksforgeeks'; 
const hash = crypto 
    .createHmac('sha256', secret) 
    .update('I am a geek') 
    .digest('hex'); 
console.log(hash);

运行该应用程序的步骤: 您可以通过输入以下代码来运行代码:

node index.js

输出:

Node.js crypto.setEngine() 函数

示例2: 在与名为index.js的文件旁边创建一个node.js项目,并编写以下代码。

const crypto = require("crypto"); 
  
crypto.setEngine("dynamic", crypto.constants.ENGINE_METHOD_DH); 
const dh = crypto.createDiffieHellman(512); 
dh.generateKeys() 
const publicKey = dh.getPublicKey(); 
console.log(publicKey);

运行应用程序的步骤: 您可以通过输入以下代码来运行代码:

node index.js

注意: 这将限制引擎只能使用Diffie Hellman算法。

输出:

Node.js crypto.setEngine() 函数

参考: https://nodejs.org/dist/latest-v12.x/docs/api/crypto.html#crypto_crypto_setengine_engine_flags

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程