Crypto.createHmac() विधि एक Hmac ऑब्जेक्ट बनाएगी और फिर उसे वापस कर देगी। यह Hmac पारित एल्गोरिथ्म और कुंजी का उपयोग करता है। स्ट्रीम व्यवहार को नियंत्रित करने के लिए वैकल्पिक विकल्पों का उपयोग किया जाएगा। परिभाषित कुंजी HMAC कुंजी होगी जिसका उपयोग क्रिप्टोग्राफ़िक HMAC हैश उत्पन्न करने के लिए किया जाता है।
सिंटैक्स
crypto.createHmac(algorithm, key, [options])
पैरामीटर
उपरोक्त पैरामीटर नीचे वर्णित हैं -
-
एल्गोरिदम - इस एल्गोरिथम का उपयोग Hmac ऑब्जेक्ट्स को जनरेट करने के लिए किया जाता है। इनपुट प्रकार स्ट्रिंग है।
-
कुंजी - क्रिप्टोग्राफ़िक एचएमएसी हैश उत्पन्न करने के लिए उपयोग की जाने वाली एचएमएसी कुंजी।
-
विकल्प - ये वैकल्पिक पैरामीटर हैं जिनका उपयोग स्ट्रीम व्यवहार को नियंत्रित करने के लिए किया जा सकता है।
-
एन्कोडिंग - उपयोग करने के लिए स्ट्रिंग एन्कोडिंग।
उदाहरण
नाम के साथ एक फाइल बनाएं - createHmac.js और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -
node createHmac.js
createHmac.js
// crypto.createHmac() demo example // Importing the crypto module const crypto = require('crypto'); // Defining the secret key const secret = 'TutorialsPoint'; // Initializing the createHmac method using secret const hmacValue = crypto.createHmac('sha256', secret) // Data to be encoded .update('Welcome to TutorialsPoint !') // Defining encoding type .digest('hex'); // Printing the output console.log("Hmac value Obtained is: ", hmacValue);
आउटपुट
C:\home\node>> node createHmac.js Hmac value Obtained is: dd897f858bad70329fad82087110059f5cb920af2736d96277801f70bd57618e
उदाहरण
आइए एक और उदाहरण देखें।
// crypto.createHmac() demo example // Importing the crypto & fs module const crypto = require('crypto'); const fs = require('fs'); // Getting the current file path const filename = process.argv[1]; // Creting hmac for current path using secret const hmac = crypto.createHmac('sha256', "TutorialsPoint"); const input = fs.createReadStream(filename); input.on('readable', () => { // Reading single element produced by hmac stream. const val = input.read(); if (val) hmac.update(val); else { console.log(`${hmac.digest('hex')} ${filename}`); } });
आउटपुट
C:\home\node>> node createHmac.js 0489ce5e4bd940c06253764e03927414f79269fe4f91b1c75184dc074fa86e22 /home/node/test/createHmac .js