Mô tả
Phương thức trên tạo đối tượng trao đổi khóa DiffieHellman với giá trị nguyên tố được cung cấp và một generator tùy chọn cụ thể. Tham số generator có thể giữ string, number hoặc Buffer. Giá trị mặc định cho generator là 2.
Cú pháp
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding])
Tham số
prime – Số bit nguyên tố sẽ được sinh. Giá trị đầu vào kiểu number.
primeEncoding – Tham số này định nghĩa encoding của chuỗi prime. Các kiểu đầu vào có thể: string, buffer, TypedArray và DataView.
generator – Generator để tạo đối tượng trao đổi khóa. Giá trị mặc định: 2.
generatorEncoding – Tham số này định nghĩa encoding của chuỗi generator.
Ví dụ
Tạo file tên index.js và sao chép đoạn mã dưới. Sau khi tạo file, dùng lệnh sau để chạy:
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ố truyền cho cả server và client giống nhau. Do đó các khóa sinh ra cũng giống nhau.
Ví dụ khác
Xem thêm một ví dụ nữa.
// 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