วิธีการข้างต้นสร้างวัตถุแลกเปลี่ยนคีย์ DiffieHellman ด้วยความช่วยเหลือของค่าเฉพาะที่ให้มาและตัวสร้างเฉพาะที่เป็นตัวเลือก อาร์กิวเมนต์ตัวสร้างสามารถเก็บค่าสตริง ตัวเลข หรือบัฟเฟอร์ได้ ค่าเริ่มต้นสำหรับตัวสร้างคือ 2
ไวยากรณ์
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
พารามิเตอร์
พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −
-
ไพรม์ – จำนวนไพรม์บิตที่จะสร้าง ค่าที่ป้อนเป็นตัวเลขประเภท
-
primeEncoding – พารามิเตอร์นี้กำหนดการเข้ารหัสของไพรม์สตริง ประเภทอินพุตที่เป็นไปได้ ได้แก่ string, buffer, 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'), "\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
เนื่องจากอาร์กิวเมนต์ที่ส่งผ่านสำหรับทั้งเซิร์ฟเวอร์และไคลเอ็นต์เหมือนกัน ดังนั้น คีย์ที่สร้างก็เหมือนกัน
ตัวอย่าง
ลองดูอีกตัวอย่างหนึ่ง
// 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>