Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

crypto.createDiffieHellman() วิธีการใน Node.js


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