วิธีการข้างต้นสร้างวัตถุแลกเปลี่ยนคีย์ 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>