Node.js 中的 crypto.createDiffieHellman() 方法
上述方法建立了一個 DiffieHellman 金鑰交換物件,藉助提供的素數和可選的特定生成器。生成器引數既可以儲存字串、數字,也可以儲存 Buffer 值。生成器的預設值為 2。
語法
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
引數
上述引數描述如下:
素數– 將生成的素數位數。輸入值的型別為 number。
素數編碼– 此引數定義素數字符串的編碼。可能輸入的型別為:字串、緩衝區、TypedArray 和 DataView。
生成器– 用於生成交換金鑰物件的生成器。預設值:2。
生成器編碼– 此引數定義生成器字串的編碼。
示例
建立一個名為 index.js 的檔案並複製以下程式碼片段。在建立檔案後,使用以下命令執行程式碼,如以下示例所示:
node index.js
程式程式碼
// 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'), "
Server generator: ", server.getGenerator().toString('hex'));
console.log("Client prime: ", client.getPrime().toString('hex'), "
Client generator: ", client.getGenerator().toString('hex'));輸出
C:\home
ode>> node index.js Server prime: 0fed0b Server generator: 02 Client prime: 0fed0b Client generator: 02
由於伺服器和客戶端傳遞的引數相同。因此,生成的金鑰也相同。
示例
我們再看一個示例。
// 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
ode>> node index.js <Buffer 0f 6b> <Buffer 02>
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP