當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。