Node.js 中的 crypto.createECDH() 方法

所述用于创建一个椭圆曲线也被称为椭圆曲线Diffie-Hellman的使用由输入参数curveName预定义的曲线ECDH。您可以使用获取所有可用曲线名称的列表。此方法是“加密”模块的一部分。crypto.createECDH()i.ecrypto.getCurves

语法

crypto.createECDH(curveName)

参数

以上参数说明如下

  • curveName  -它采用了曲线名称输入。该曲线名称将定义用于创建 ECDH 的预定义曲线。

示例

创建一个具有名称的文件 -createECDH.js并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 -

node createECDH.js

创建ECDH.js

// 创建ECDH的节点演示程序

// 导入加密模块
const crypto = require('crypto');

// 调用 getCiphers() 方法
const curve = crypto.createECDH('secp521r1');

// 打印曲线键...
console.log(curve.generateKeys());
输出结果
C:\home\node>> node createECDH.js
<Buffer 04 00 be c4 3b eb cc ea 33 84 31 b0 7d 8b 9f e6 5b e0 6e 3a 40 21 49
f0 20 9f 92 33 cf 32 d7 a7 f1 df 90 82 9b fe 8f 7b 98 5b 7d 1a ee c6 ae b1 bd
1a ... >

示例

让我们再看一个例子。

// 创建ECDH的节点演示程序

// 导入加密模块
const crypto = require('crypto');

// 调用 getCiphers() 方法
const curve = crypto.createECDH('secp521r1');
curve.generateKeys();

// Printing public & private curve keys...
console.log("公钥: ", curve.getPublicKey());
console.log("私有凯: ", curve.getPrivateKey());
输出结果
C:\home\node>> node cipherUpdate.js
公钥: <Buffer 04 01 10 f7 fb d9 d7 f9 70 ba 6e 59 42 77 b6 1b 28 21 f1
3f ac 43 28 72 c6 33 b5 89 d3 77 6e 5a ea 8a 8a a1 27 a7 ab f1 b1 ea 41 ac dc
c5 09 83 01 48 ... >
私有凯: <Buffer 01 d8 c4 d9 df 5c c8 54 e2 1f 82 94 ba 9c cd bc 88 3a e5
88 aa bd c8 2b 5c e9 f4 59 81 0b ae 18 f4 bf 21 43 56 74 55 d8 1d e6 b8 5f d8
e7 e2 52 ad 03 ... >