上述方法在提供的質數和可選的特定生成器的幫助下創建了一個 DiffieHellman key 交換對象。生成器參數可以保存字符串、數字或緩衝區值。生成器的默認值為 2。
用法
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
參數
上述參數描述如下 -
prime - 將生成的素數位數。輸入值的類型為 number。
primeEncoding - 此參數定義素數字符串的編碼。可能的輸入類型有:字符串、緩衝區、TypedArray 和 DataView。
generator - 用於生成交換 key 對象的生成器。默認值:2。
generatorEncoding - 此參數定義生成器字符串編碼。
示例
創建一個名為 index.js 的文件並複製以下代碼片段。創建文件後,使用以下命令運行此代碼,如下例所示 -
node index.js
Program Code
// crypto.createDiffieHelmmanGroup(prime, [primeEncoding],
[generator],[generatorEncoding])
// Demo Example
// Importing the crypto module
const crypto = require('crypto');
// Initializing and defining the prime value
const server = crypto.createDiffieHellman(20);
// Generating keys
server.generateKeys();
// Creating keys using server prime and generator
const client= crypto.createDiffieHellman(
server.getPrime(), server.getGenerator());
client.generateKeys();
// Printing the server and client values
console.log("Server prime:", server.getPrime().toString('hex'), "\nServer generator:", server.getGenerator().toString('hex'));
console.log("Client prime:", client.getPrime().toString('hex'), "\nClient generator:", client.getGenerator().toString('hex'));
輸出
C:\home\node>> node index.js Server prime:0fed0b Server generator:02 Client prime:0fed0b Client generator:02
由於為服務器和客戶端傳遞的參數是相同的。因此,生成的 key 也是相同的。
示例
讓我們再看一個例子。
// crypto.createDiffieHelmmanGroup(prime, [primeEncoding],
[generator],[generatorEncoding])
// Demo Example
// Importing the crypto module
const crypto = require('crypto');
// Initializing and defining the prime value
const val = crypto.createDiffieHellman(12);
// Printing prime value for abve DiffieHellman
console.log(val.getPrime());
// Printing the generator value
console.log(val.getGenerator())
輸出
C:\home\node>> node index.js <Buffer 0f 6b> <Buffer 02>
相關用法
- Node.js crypto.createDiffieHellmanGroup()用法及代碼示例
- Node.js crypto.createDecipheriv()用法及代碼示例
- Node.js crypto.createSign()用法及代碼示例
- Node.js crypto.createHash()用法及代碼示例
- Node.js crypto.createCipheriv()用法及代碼示例
- Node.js crypto.createVerify()用法及代碼示例
- Node.js crypto.createECDH()用法及代碼示例
- Node.js crypto.createHmac()用法及代碼示例
- Node.js crypto.constants用法及代碼示例
- Node.js crypto.checkPrimeSync()用法及代碼示例
- Node.js crypto.checkPrime()用法及代碼示例
- Node.js crypto.randomFill()用法及代碼示例
- Node.js crypto.publicEncrypt()用法及代碼示例
- Node.js crypto.getCiphers()用法及代碼示例
- Node.js crypto.publicDecrypt()用法及代碼示例
- Node.js crypto.hkdfSync()用法及代碼示例
- Node.js crypto.randomFillSync()用法及代碼示例
- Node.js crypto.webcrypto用法及代碼示例
- Node.js crypto.getCurves()用法及代碼示例
- Node.js crypto.generateKeyPair()用法及代碼示例
注:本文由純淨天空篩選整理自Mayank Agarwal大神的英文原創作品 crypto.createDiffieHellman() Method in Node.js。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。