当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js crypto.getDiffieHellman()用法及代码示例


crypto.getDiffieHellman()方法用于创建预定义的DiffieHellmanGroup key 交换对象。在这里,最喜欢的组是RFC 2412中定义的“ modp1”,“ modp2”,“ modp5”和RFC 3526中定义的“ modp14”,“ modp15”,“ modp16”,“ modp17”,“ modp18”。

用法:

crypto.getDiffieHellman( groupName )

参数:此方法接受字符串类型的单个参数groupName。



返回类型:它返回DiffieHellmanGroup key 交换对象。

以下示例说明了Node.js中crypto.getDiffieHellman()方法的使用:

范例1:

// Node.js program to demonstrate the  
// crypto.getDiffieHellman() method 
  
// Including crypto module 
const crypto = require('crypto'); 
  
// Calling getDiffieHellman method 
// with its parameter groupName 
const diffiehellmangrp = crypto.getDiffieHellman('modp14'); 
  
// Prints DiffieHellmanGroup key exchange object 
console.log("Key exchange object:", diffiehellmangrp);

输出:

Key exchange object: DiffieHellmanGroup 
{ _handle:{ verifyError:[Getter] }, verifyError:0 }

范例2:

// Node.js program to demonstrate the  
// crypto.getDiffieHellman() method 
   
// Including crypto module 
const crypto = require('crypto'); 
   
// Calling two getDiffieHellman method 
// with its parameter, groupName 
const diffiehellmangrp1 = crypto.getDiffieHellman('modp14'); 
const diffiehellmangrp2 = crypto.getDiffieHellman('modp14'); 
   
// Generating keys 
diffiehellmangrp1.generateKeys(); 
diffiehellmangrp2.generateKeys(); 
   
// Computing secret 
const diffiehellmangrp1sc = diffiehellmangrp1 
.computeSecret(diffiehellmangrp2.getPublicKey(), null, 'hex'); 
   
const diffiehellmangrp2sc = diffiehellmangrp2 
.computeSecret(diffiehellmangrp1.getPublicKey(), null, 'hex'); 
   
// Checking if both the secrets are same or not 
console.log(diffiehellmangrp1sc === diffiehellmangrp2sc);

输出:

true

参考: https://nodejs.org/api/crypto.html#crypto_crypto_getdiffiehellman_groupname




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | crypto.getDiffieHellman() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。