node.js 中的 crypto.createDiffieHellman(primeLength, [generator]) 方法
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