क्रिप्टो.pbkdf2(), जिसे पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन के रूप में भी जाना जाता है, व्युत्पन्न फ़ंक्शन का एक अतुल्यकालिक कार्यान्वयन प्रदान करता है। पासवर्ड, नमक और पुनरावृत्तियों से निर्दिष्ट एल्गोरिथम के Hmac डाइजेस्ट का उपयोग करके एक कुंजी प्राप्त की जाती है
सिंटैक्स
crypto.createHmac(algorithm, key, [options])
पैरामीटर
उपरोक्त पैरामीटर नीचे वर्णित हैं -
-
पासवर्ड - अनुरोधित बाइट लंबाई की कुंजी प्राप्त करने के लिए परिभाषित पासवर्ड। संभावित मान प्रकार स्ट्रिंग, डेटा व्यू, बफर, आदि के हैं।
-
नमक - कुंजी प्राप्त करने के लिए पासवर्ड के समान। संभावित मान प्रकार स्ट्रिंग, डेटा व्यू, बफर, आदि के हैं।
-
पुनरावृत्ति - अनुरोधित बाइट लंबाई की वांछित कुंजी प्राप्त करना। यह मान को संख्या के रूप में स्वीकार करता है।
-
कीलेन - यह कुंजी की अनुरोधित बाइट लंबाई है। यह टाइप नंबर का होता है।
-
पाचन - Hmac एल्गोरिथम इस डाइजेस्ट वैल्यू द्वारा निर्दिष्ट किया जाता है। डिफ़ॉल्ट मान 'sha1' है
-
कॉलबैक - अगर async मोड में कोई त्रुटि होती है, तो उसे कॉलबैक में हैंडल किया जाएगा
उदाहरण
pbkdf2.js नाम से एक फाइल बनाएं और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -
नोड pbkdf2.js
pbkdf2.js
//crypt.pbkdf2() डेमो उदाहरण// क्रिप्टो मॉड्यूल को इंपोर्ट करना , 'sha512', (इरेट, व्युत्पन्नकी) => {if (गलती) थ्रो इरेट; // व्युत्पन्न कुंजी कंसोल को प्रिंट करना। /पूर्व>आउटपुट
C:\home\node>> नोड pbkdf2.jsकुंजी व्युत्पन्न:3745e482c6e0ade35da10139e797157f4a5da669dad7d5da88ef87e47471cc47ed941c7ad618e827304f083f8707f12b7cfddfpredf489b782eउदाहरण
आइए एक और उदाहरण देखें।
//crypt.pbkdf2() डेमो उदाहरण// क्रिप्टो मॉड्यूल का आयात करना क्रिप्टो =की आवश्यकता है ('क्रिप्टो'); // pbkdf2 को निम्नलिखित विकल्पों के साथ परिभाषित करना क्रिप्टो.pbkdf2('secret', 'salt', 100, 64 , 'sha1', (इरेट, व्युत्पन्नकी) => {if (err) थ्रो इरेट; // व्युत्पन्न कुंजी कंसोल को प्रिंट करना। लॉग ("कुंजी व्युत्पन्न:", व्युत्पन्नकी); कंसोल। ,व्युत्पन्नकी.टूस्ट्रिंग ('हेक्स')); कंसोल.लॉग ("बेस 64 में व्युत्पन्न कुंजी:", व्युत्पन्नकी.टूस्ट्रिंग ('बेस 64'));});आउटपुट
C:\home\node>> नोड pbkdf2.jsकुंजी व्युत्पन्न:<बफर b7 36 35 f7 c0 88 2e 1f c3 ba 6e 29 b1 4a f1 27 4d f8 48 28 b4 d1 8f cc 22 2e b5 74 45 5f 50 5 डी 3 डी 23 19 13 2 डी 84 ई 1 91 ए 7 83 e2 00 73 4e 37 4 ए 24 बी -6 ...> कुंजी हेक्स में व्युत्पन्न:b73635f7c0882e1fc3ba6e29b14af1274df84828b4d18fcc222eb574455f505d3d2319132d84e191a783e200734e374a24b62cfab65dfb5e9dc28ae147072419Key बेस 64 में व्युत्पन्न:tzY198CILh / Dum4psUrxJ034SCi00Y / MIi61dEVfUF09IxkTLYThkaeD4gBzTjdKJLYs + RZD + 16dworhRwckGQ ==