crypto.createDiffieHellmanGroup(primeLength, [generator]) 方法用于创建密钥交换对象,该对象使用数字生成器生成质数的 primeLength 位。未定义生成器时,默认值为 2。
crypto.createDiffieHelmmanGroup(primeLength, [generator])
上述参数描述如下 -
primeLength – 将生成的素数位的数量。输入值的类型为 number。
generator – 生成交换密钥对象的生成器。默认值:2。
创建一个具有名称的文件 -index.js并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 -
node index.js
索引.js
// crypto.createDiffieHellman(primeLength, [generator]) 演示示例 // 导入加密模块 const crypto = require('crypto'); // 初始化变量 primeLength var primeLength = 29; // 创建 DiffieHellman 密钥交换对象 var exchangeKey = crypto.createDiffieHellman(primeLength); // 打印交换密钥 console.log("DiffieHellman 的关键是: " + exchangeKey.generateKeys('base64'));输出结果
C:\home\node>> node index.js DiffieHellman 的关键是: BaRoaA==
让我们再看一个例子。
// crypto.createDiffieHellman(primeLength, [generator]) 演示示例 // 导入加密模块 const crypto = require('crypto'); // 初始化变量 primeLength var primeLength = 29; var generator = 3; //默认值为 2 // 创建 DiffieHellman 密钥交换对象 var exchangeKey = crypto.createDiffieHellman(primeLength, generator); // 打印交换密钥 console.log("DiffieHellman 键是: " + exchangeKey.generateKeys('hex')); // 显示公钥和私钥 console.log("公钥是: ", exchangeKey.getPublicKey('hex')); console.log("私钥: ", exchangeKey.getPrivateKey('hex'));输出结果
C:\home\node>> node index.js DiffieHellman 键是: 1a21670d 公钥是: 1a21670d 私钥: 0d4a1a3c