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
相关用法
- Node.js crypto.setFips()用法及代码示例
- Node.js crypto.secureHeapUsed()用法及代码示例
- Node.js crypto.scrypt()用法及代码示例
- Node.js crypto.scryptSync()用法及代码示例
- Node.js crypto.sign()用法及代码示例
- Node.js crypto.scrypt(password, salt, keylen[, options], callback)用法及代码示例
- Node.js crypto.scryptSync(password, salt, keylen[, options])用法及代码示例
- Node.js crypto.createDiffieHellman()用法及代码示例
- Node.js crypto.createSign()用法及代码示例
- Node.js crypto.createVerify()用法及代码示例
- Node.js crypto.getCiphers()用法及代码示例
- Node.js crypto.getHashes()用法及代码示例
- Node.js crypto.getCurves()用法及代码示例
- Node.js crypto.getDiffieHellman()用法及代码示例
- Node.js crypto.pbkdf2()用法及代码示例
- Node.js crypto.createHash()用法及代码示例
- Node.js crypto.createHmac()用法及代码示例
- Node.js crypto.randomBytes()用法及代码示例
- Node.js crypto.publicDecrypt()用法及代码示例
- Node.js crypto.pbkdf2Sync()用法及代码示例
- Node.js crypto.createECDH()用法及代码示例
- Node.js crypto.createDecipheriv()用法及代码示例
- Node.js crypto.createCipheriv()用法及代码示例
- Node.js crypto.createDiffieHellmanGroup()用法及代码示例
- Node.js crypto.privateDecrypt()用法及代码示例
注:本文由纯净天空筛选整理自aayushmohansinha大神的英文原创作品 Node.js crypto.setEngine() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。