উপরের পদ্ধতিটি সরবরাহকৃত প্রাইম ভ্যালু এবং একটি ঐচ্ছিক নির্দিষ্ট জেনারেটরের সাহায্যে একটি DiffieHellman কী বিনিময় বস্তু তৈরি করে। জেনারেটর আর্গুমেন্ট একটি স্ট্রিং, সংখ্যা বা বাফার মান ধরে রাখতে পারে। জেনারেটরের জন্য ডিফল্ট মান হল 2।
সিনট্যাক্স
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
পরামিতি
উপরের পরামিতিগুলি নীচে −
হিসাবে বর্ণনা করা হয়েছে-
প্রধান - উৎপন্ন করা হবে প্রাইম বিট সংখ্যা. ইনপুট মান টাইপ নম্বর।
-
প্রাইম এনকোডিং – এই প্যারামিটারটি প্রাইম স্ট্রিং এর এনকোডিং সংজ্ঞায়িত করে। সম্ভাব্য ইনপুট প্রকারগুলি হল:স্ট্রিং, বাফার, টাইপডঅ্যারে এবং ডেটাভিউ৷
-
জেনারেটর - এক্সচেঞ্জ কী অবজেক্ট তৈরি করার জন্য জেনারেটর। ডিফল্ট মান: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>