क्रिप्टो.pbkdf2Sync(), जिसे पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2 के रूप में भी जाना जाता है, व्युत्पन्न फ़ंक्शन का एक तुल्यकालिक कार्यान्वयन प्रदान करता है। पासवर्ड, नमक और पुनरावृत्तियों से निर्दिष्ट एल्गोरिथम के एचएमएसी डाइजेस्ट का उपयोग करके एक कुंजी प्राप्त की जाती है। यह सिंक प्रक्रिया में कुंजी बनाएगा।
सिंटैक्स
crypto.createHmac(algorithm, key, [options])
पैरामीटर
उपरोक्त पैरामीटर नीचे वर्णित हैं -
-
पासवर्ड - अनुरोधित बाइट लंबाई की कुंजी प्राप्त करने के लिए परिभाषित पासवर्ड। संभावित मान प्रकार स्ट्रिंग, डेटा व्यू, बफर, आदि के हैं।
-
नमक - कुंजी प्राप्त करने के लिए पासवर्ड के समान। संभावित मान प्रकार स्ट्रिंग, डेटा व्यू, बफर, आदि के हैं।
-
पुनरावृत्ति - अनुरोधित बाइट लंबाई की वांछित कुंजी प्राप्त करना। यह मान को संख्या के रूप में स्वीकार करता है।
-
कीलेन - यह कुंजी की अनुरोधित बाइट लंबाई है। यह टाइप नंबर का होता है।
-
डाइजेस्ट - Hmac एल्गोरिथम इस डाइजेस्ट वैल्यू द्वारा निर्दिष्ट किया जाता है। डिफ़ॉल्ट मान 'sha1' है
उदाहरण
pbkdf2Sync.js नाम से एक फाइल बनाएं और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -
नोड pbkdf2Sync.js
pbkdf2Sync.js
//crypt.pbkdf2() डेमो उदाहरण// क्रिप्टो मॉड्यूल आयात करना क्रिप्टो =की आवश्यकता है ('क्रिप्टो'); // pbkdf2 को निम्नलिखित विकल्पों के साथ परिभाषित करना pbkdfKey =क्रिप्टो.pbkdf2Sync('secret', 'salt', 100000, 64, 'sha512');// व्युत्पन्नKeyconsole.log को प्रिंट करना ("कुंजी है:", pbkdfKey.toString('hex'));
आउटपुट
C:\home\node>> नोड pbkdf2Sync.jskey is:3745e482c6e0ade35da10139e797157f4a5da669dad7d5da88ef87e47471cc47ed941c7ad618e827304f083f8707f12b7cfdd5f489b782fउदाहरण
आइए एक और उदाहरण देखें।
//crypt.pbkdf2Sync () डेमो उदाहरण// क्रिप्टो मॉड्यूल आयात करना क्रिप्टो =आवश्यकता ('क्रिप्टो');// pbkdf2Sync को निम्नलिखित विकल्पों के साथ परिभाषित करना, 100, 32, 'sha1');// व्युत्पन्नKeyconsole.log को प्रिंट करना ("कुंजी है:", pbkdfKey);console.log ("कुंजी (हेक्स में) है:", pbkdfKey.toString('hex')); कंसोल.लॉग ("कुंजी (बेस 64 में) है:", pbkdfKey.toString ('बेस 64'));आउटपुट
C:\home\node>> नोड pbkdf2Sync.jskey है:<बफर b7 36 35 f7 c0 88 2e 1f c3 ba 6e 29 b1 4a f1 27 4d f8 48 28b4 d1 8f cc 22 2e b5 74 45 5f 50 5d>कुंजी(हेक्स में) है:b73635f7c0882e1fc3ba6e29b14af1274df84828b4d18fcc222eb574455f505dkey(बेस 64 में) है:tzY198CILh/Dum4psUrxJ034SCi00Y/Mii61dEVfUF0=