Phương thức trên tạo một đối tượng trao đổi khóa DiffieHellman với sự trợ giúp của giá trị nguyên tố được cung cấp và một trình tạo cụ thể tùy chọn. Đối số trình tạo có thể chứa một chuỗi, số hoặc giá trị Bộ đệm. Giá trị mặc định cho trình tạo là 2.
Cú pháp
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
Tham số
Các thông số trên được mô tả như bên dưới -
-
nguyên tố - Số bit nguyên tố sẽ được tạo ra. Giá trị đầu vào thuộc loại số.
-
primeEncoding - Tham số này xác định bảng mã của chuỗi nguyên tố. Các loại đầu vào có thể có là:chuỗi, bộ đệm, TypedArray và DataView.
-
máy phát điện - Trình tạo để tạo đối tượng khóa trao đổi. Giá trị mặc định:2.
-
Trình tạo mã hóa - Tham số này xác định mã hóa chuỗi trình tạo.
Ví dụ
Tạo một tệp có tên - index.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, sử dụng lệnh sau để chạy mã này như được hiển thị trong ví dụ bên dưới -
node index.js
Mã chương trình
// 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'));
Đầu ra
C:\home\node>> node index.js Server prime: 0fed0b Server generator: 02 Client prime: 0fed0b Client generator: 02
Vì các đối số được truyền cho cả máy chủ và máy khách đều giống nhau. Do đó, các khóa được tạo cũng giống nhau.
Ví dụ
Hãy xem thêm một ví dụ.
// 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())
Đầu ra
C:\home\node>> node index.js <Buffer 0f 6b> <Buffer 02>