उपरोक्त विधि आपूर्ति किए गए प्राइम वैल्यू और एक वैकल्पिक विशिष्ट जनरेटर की सहायता से एक डिफीहेलमैन कुंजी एक्सचेंज ऑब्जेक्ट बनाती है। जनरेटर तर्क या तो एक स्ट्रिंग, संख्या या बफर मान रख सकता है। जनरेटर के लिए डिफ़ॉल्ट मान 2 है।
सिंटैक्स
crypto.createDiffieHelmmanGroup(prime, [primeEncoding], [generator], [generatorEncoding]
पैरामीटर
उपरोक्त पैरामीटर नीचे वर्णित हैं -
-
प्रमुख - उत्पन्न होने वाले प्राइम बिट्स की संख्या। इनपुट मान प्रकार संख्या का है।
-
प्राइमएन्कोडिंग - यह पैरामीटर प्राइम स्ट्रिंग के एन्कोडिंग को परिभाषित करता है। संभावित इनपुट प्रकार हैं:स्ट्रिंग, बफर, 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>