Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

क्रिप्टो.पब्लिकएन्क्रिप्ट () Node.js में विधि

<घंटा/>

क्रिप्टो.पब्लिकएनक्रिप्ट () का उपयोग पैरामीटर में पारित सार्वजनिक कुंजी का उपयोग करके बफर पैरामीटर में दिए गए डेटा को एन्क्रिप्ट करने के लिए किया जाता है। लौटाए गए डेटा को संबंधित निजी कुंजी का उपयोग करके डिक्रिप्ट किया जा सकता है।

सिंटैक्स

crypto.publicEncrypt(key, buffer)

पैरामीटर

उपरोक्त पैरामीटर नीचे वर्णित हैं -

  • कुंजी - इसमें निम्न प्रकार के 5 प्रकार के डेटा हो सकते हैं - ऑब्जेक्ट, स्ट्रिंग, बफर या कीऑब्जेक्ट।

    • कुंजी - इस फ़ील्ड में PEM एन्कोडेड सार्वजनिक या निजी कुंजी है। यह स्ट्रिंग, बफर या कीऑब्जेक्ट प्रकार का हो सकता है।

    • ओएपहैश - इस फ़ील्ड में OAEP पैडिंग और MGF1 के लिए उपयोग किया जाने वाला हैश फ़ंक्शन है। डिफ़ॉल्ट मान है:'sha1'।

    • ओएपलेबल - इस फ़ील्ड में OAEP पैडिंग का मान होता है। निर्दिष्ट नहीं होने पर किसी भी लेबल का उपयोग नहीं किया जाता है।

    • पासफ़्रेज़ - यह निजी कुंजी के लिए एक वैकल्पिक पासफ़्रेज़ है।

    • पैडिंग - यह क्रिप्टो.कॉन्स्टेंट में परिभाषित एक वैकल्पिक मान है।

    • एन्कोडिंग - यह एन्कोडिंग का प्रकार है जिसका उपयोग करने की आवश्यकता होती है जब बफर, कुंजी, ओएप लेबल या पासफ़्रेज़ मान स्ट्रिंग होते हैं।

  • बफर - इस फ़ील्ड में एन्क्रिप्ट की जाने वाली डेटा सामग्री है। संभावित बफर प्रकार हैं:स्ट्रिंग, टाइप्डअरे, बफर, ऐरेबफर, डेटा व्यू।

उदाहरण

नाम के साथ एक फाइल बनाएं – publicEncrypt.js और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -

नोड publicEncrypt.js

publicEncrypt.js

// Node.js प्रोग्राम क्रिप्टो के प्रवाह को प्रदर्शित करता है। कुंजियाँ उत्पन्न करने के लिए फ़ंक्शन जनरेट कीफाइल्स () { const keyPair =क्रिप्टो.जनरेटकीपेयरसिंक ('आरएसए', {मॉड्यूलस लेंथ:520, पब्लिककीएन्कोडिंग:{टाइप:'स्पकी', फॉर्मेट:'पेम'}, प्राइवेटकीएन्कोडिंग:{टाइप:'पीकेसीएस 8', फॉर्मेट :'pem', सिफर:'aes-256-cbc', पासफ़्रेज़:'' } }); // नीचे दिए गए नाम के साथ सार्वजनिक कुंजी फ़ाइल बनाना fs.writeFileSync("public_key", keyPair.publicKey);}// जनरेटिंग keygenerateKeyFiles();// नीचे दिए गए फ़ंक्शन का उपयोग करके स्ट्रिंग एन्क्रिप्ट करना fs.readFileSync (publicKeyFile, "utf8"); // नीचे दिए गए मापदंडों के साथ publicEncrypt () को कॉल करना एन्क्रिप्टेड =क्रिप्टो.पब्लिकएन्क्रिप्ट (publicKey, Buffer.from (plaintext)); वापस एन्क्रिप्टेड.toString("base64");}// टेक्स्ट जो एन्क्रिप्टेड हो जाएगा ("प्लेनटेक्स्ट:", प्लेनटेक्स्ट);//एन्क्रिप्टेड टेक्स्ट कंसोल.लॉग को प्रिंट करना ("एन्क्रिप्टेड:", एन्क्रिप्टेड);

आउटपुट

C:\home\node>> नोड publicEncrypt.jsसादा पाठ:TutorialsPointEncrypted:kgnqPxy/n34z+/5wd7MZiMAL5LrQisTLfZiWoSChXSvxgtifMQaZ56cbF+twA55olM0rFfnuV6qqtca8S> 

उदाहरण

आइए एक और उदाहरण देखें।

// Node.js प्रोग्राम क्रिप्टो के प्रवाह को प्रदर्शित करता है। कुंजियाँ उत्पन्न करने के लिए फ़ंक्शन जनरेट कीफाइल्स () { const keyPair =क्रिप्टो.जनरेटकीपेयरसिंक ('आरएसए', {मॉड्यूलस लेंथ:520, पब्लिककीएन्कोडिंग:{टाइप:'स्पकी', फॉर्मेट:'पेम'}, प्राइवेटकीएन्कोडिंग:{टाइप:'पीकेसीएस 8', फॉर्मेट :'pem', सिफर:'aes-256-cbc', पासफ़्रेज़:'' } }); // सार्वजनिक कुंजी फ़ाइल बनाना fs.writeFileSync("public_key", keyPair.publicKey);}// जनरेटिंग keygenerateKeyFiles();// नीचे दिए गए फ़ंक्शन का उपयोग करके स्ट्रिंग एन्क्रिप्ट करना publicKeyFile, "utf8"); // नीचे दिए गए मापदंडों के साथ publicEncrypt () को कॉल करना एन्क्रिप्टेड =क्रिप्टो.पब्लिकएन्क्रिप्ट (publicKey, Buffer.from (plaintext)); एन्क्रिप्टेड लौटाएं;}// टेक्स्ट जो एन्क्रिप्टेड कॉन्स्ट प्लेनटेक्स्ट ="हैलो ट्यूटोरियल्सपॉइंट!"; // एन्क्रिप्टेड टेक्स्टकॉन्स्ट एन्क्रिप्टेड =एन्क्रिप्टस्ट्रिंग (सादा टेक्स्ट, "./public_key"); // प्रिंटिंग सादा टेक्स्ट कंसोल.लॉग ("प्लेनटेक्स्ट:" , प्लेनटेक्स्ट);// एन्क्रिप्टेड बफ़रकंसोल को प्रिंट करना। लॉग ("बफ़र:", एन्क्रिप्टेड);

आउटपुट

C:\home\node>> node publicEncrypt.jsPlaintext:Hello TutorialsPoint!Buffer:<बफर 33 0b 54 96 0e 8f 34 6c b4 d5 7a cf d4 d5 ef 7b 7e c5 ec 97cf 75 05 07 df 5a 9e d4 3d cc 3e bb 55 e7 50 1b 64 f0 c8 89 19 61 81 99 e5 8810 4a 3b 5a ...>

  1. क्रिप्टो.प्राइवेटएन्क्रिप्ट () Node.js में विधि

    Crypto.privateEncrypt() का उपयोग फ़ंक्शन में दिए गए निजी कुंजी पैरामीटर का उपयोग करके दी गई डेटा सामग्री को एन्क्रिप्ट करने के लिए किया जाता है। सिंटैक्स crypto.privateEncrypt(privateKey, बफर) पैरामीटर उपरोक्त पैरामीटर नीचे वर्णित हैं - निजी कुंजी - इसमें निम्नलिखित डेटा प्रकार हो सकते हैं - ऑब

  1. क्रिप्टो.प्राइवेटडिक्रिप्ट () Node.js में विधि

    क्रिप्टो.प्राइवेटडिक्रिप्ट () का उपयोग पैरामीटर में पारित एक निजी कुंजी का उपयोग करके दी गई डेटा सामग्री को डिक्रिप्ट करने के लिए किया जाता है जिसे पहले क्रिप्टो.पब्लिकएनक्रिप्ट () विधि के साथ संबंधित सार्वजनिक कुंजी का उपयोग करके एन्क्रिप्ट किया गया था। सिंटैक्स crypto.privateDecrypt(privateKey, बफ

  1. क्रिप्टो.getHashes () Node.js में विधि

    क्रिप्टो.getHashes() विधि एक सरणी लौटाएगी जिसमें सभी समर्थित हैश एल्गोरिदम के नाम होंगे। क्रिप्टो पैकेज में हैश एल्गोरिदम की एक विशाल सूची है जिसका हम उपयोग कर सकते हैं। लेकिन सबसे अधिक इस्तेमाल किया जाने वाला सिफर एल्गोरिथम MD5 - Message-Digest Algorithm5 है। सिंटैक्स crypto.getHashes() पैरामीटर च