阅读 317

Node.js – diffieHellman.getGenerator方法

该方法以指定的编码返回 Diffie-Hellman 生成器。如果传递编码,则返回字符串,否则返回缓冲区。diffieHellman.getGenerator()

语法


diffieHellman.getGenerator([encoding])


参数

  • encoding - 此参数指定返回值的编码。

示例 1

创建一个名为“ generator.js ”的文件并复制以下代码。创建文件后,使用命令“ node generator.js ”运行此代码,如下例所示:


// diffieHellman.getPrime() 演示示例// 从crypto模块导入cryptoDiffieHellmanconst { createDiffieHellman } = require('crypto');// 初始化 diffieHellman 对象const dh = createDiffieHellman(512);// 生成 DiffieHellman 的生成器// 定义生成器let dhGenerator = dh.getGenerator()console.log('Buffer (when encoding is not specified) : ', dhGenerator)// 编码指定// 返回字符串dhGenerator = dh.getGenerator('base64')console.log('String (when encoding is specified) : ', dhGenerator)

输出结果

Buffer (when encoding is not specified) : <Buffer 02>
String (when encoding is specified) : Ag==


示例 2

让我们再看一个例子。


// diffieHellman.getGenerator() 演示示例// 从crypto模块导入cryptoDiffieHellmanconst { createDiffieHellman } = require('crypto');// 为“a”生成密钥const a = createDiffieHellman(512);// 为“a”生成素数const primeA = a.getPrime();// 生成 a 的生成器const generatorA = a.getGenerator()// 生成 a 的生成器Keysconst keyA = a.generateKeys();// 为 b 生成密钥const b = createDiffieHellman( primeA, generatorA );// 为 b 生成素数const primeB = b.getPrime();// 生成 b 的生成器const generatorB = b.getGenerator()// 生成 b 的生成器Keysconst keyB = b.generateKeys();// 交换秘密const secretA = a.computeSecret(keyB);const secretB = b.computeSecret(keyA);let isSymmetric =
   secretA.toString('hex') == secretB.toString('hex')console.log('Are keys Symmetric : ${ isSymmetric }')

输出结果

Are keys Symmetric : ${ isSymmetric }


文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐