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


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


Node.js 是一个跨平台、开源的 back-end JavaScript 运行时环境,它使用 V8 引擎在 Web 浏览器之外执行 JavaScript 代码。 Node.js 允许开发人员利用 JavaScript 创建命令行工具和服务器端脚本,其中涉及在将页面发送到用户浏览器之前在服务器上运行脚本。加密函数是通过 crypto 模块提供的,其中包括 OpenSSL 的哈希、HMAC、密码、解码、签名和验证方法的包装器。

crypto.setEngine() 函数加载并配置由标志选择的部分或全部 OpenSSL 函数的引擎。

用法:

crypto.setEngine(engine[, flags])

参数:

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

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

Javascript


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

输出:

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

Javascript


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。

输出:

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



相关用法


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