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