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

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

<घंटा/>

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

सिंटैक्स

crypto.privateDecrypt(privateKey, बफर)

पैरामीटर

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

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

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

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

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

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

उदाहरण

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

नोड PrivateDecrypt.js

privateDecrypt.js

// Node.js प्रोग्राम क्रिप्टो के प्रवाह को प्रदर्शित करने के लिए। सार्वजनिक कुंजी.//आप इन कुंजियों को GenerateKeyPair()publicKey =fs.readFileSync('public_key').toString();// का उपयोग करके जेनरेट कर सकते हैं। utf8');// उपरोक्त टेक्स्टसेक्रेटडेटा को एन्क्रिप्ट करना =क्रिप्टो.पब्लिकएन्क्रिप्ट (पब्लिककी, बफ);//एन्क्रिप्टेड टेक्स्ट कंसोल.लॉग (सीक्रेटडेटा) को प्रिंट करना;//निजी keyprivateKey पढ़ना =fs.readFileSync('private_key').toString( );// एन्क्रिप्टेड टेक्स्टोरिगडेटा को डिक्रिप्ट करना =क्रिप्टो.प्राइवेटडिक्रिप्ट (प्राइवेटकी, सीक्रेटडेटा); कंसोल.लॉग ();// मूल टेक्स्ट को बफरकॉनसोल.लॉग (ओरिगडाटा) के रूप में प्रिंट करना;

आउटपुट

C:\home\node>> नोड प्राइवेटडिक्रिप्ट.जेएस<बफर 15 4b 51 02 e7 1c ec 11 20 55 ee 92 b2 18 7b ce f1 e1 97 bd b7 0d 5421 18 ea 0c e7 cd 51 36 f5 13 df fb 41 c1 63 bb ac ee 94 12 df f6 d6 04 b1 9c11 ... <बफर 48 65 6c 6c 6f 20 54 75 74 6f 72 69 61 6c 73 50 6f 69 6e 74>

उदाहरण

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

// Node.js प्रोग्राम क्रिप्टो के प्रवाह को प्रदर्शित करता है। GenerateKeyPairSync() मेथडफंक्शन GenerateKeyFiles() { const keyPair =Crypto.generateKeyPairSync('rsa', {modulusLength:530, publicKeyEncoding:{ type:'spki', format:'pem' }, PrivateKeyEncoding:{ type:'pkcs8' का उपयोग करने वाली फ़ाइलें। , प्रारूप:'pem', सिफर:'aes-256-cbc', पासफ़्रेज़:'' } }); // निम्नलिखित फाइलों में चाबियाँ लिखना fs.writeFileSync("public_key", keyPair.publicKey); fs.writeFileSync("private_key", keyPair.privateKey);}// कॉलिंग जनरेट कीज़ मेथडजेनरेटकीफाइल्स ();// पास्ड स्ट्रिंगफंक्शन को एन्क्रिप्ट करना एन्क्रिप्टस्ट्रिंग (प्लेनटेक्स्ट, पब्लिककेफाइल) { const publicKey =fs.readFileSync(publicKeyFile, "utf8"); // publicEncrypt () विधि और एक सार्वजनिक कुंजी कॉन्स्ट एन्क्रिप्टेड =क्रिप्टो.पब्लिकएन्क्रिप्ट (publicKey, Buffer.from (plaintext)) का उपयोग करके डेटा को एन्क्रिप्ट करना; वापस एन्क्रिप्टेड.toString("base64");}// पारित स्ट्रिंग को निजी कीफंक्शन डिक्रिप्टस्ट्रिंग (सिफरटेक्स्ट, प्राइवेटकेफाइल) के साथ डिक्रिप्ट करना { const PrivateKey =fs.readFileSync(privateKeyFile, "utf8"); // निजी डिक्रिप्ट () विधि का उपयोग कर डेटा को डिक्रिप्ट करना वापसी decrypted.toString("utf8");}// निम्नलिखित डेटा एन्क्रिप्ट किया जाएगा और डिक्रिप्टेडकॉन्स्ट प्लेनटेक्स्ट ="ट्यूटोरियल्सपॉइंट!"; // स्ट्रिंगकॉन्स्ट एन्क्रिप्टेड को एन्क्रिप्ट करने के लिए नीचे दी गई विधि को कॉल करना =एन्क्रिप्टस्ट्रिंग (सादा टेक्स्ट, "./public_key");/ / सादा टेक्स्ट कंसोल.लॉग प्रिंट करना ("प्लेनटेक्स्ट:", प्लेनटेक्स्ट); कंसोल.लॉग ();// एन्क्रिप्टेड टेक्स्ट कंसोल.लॉग को प्रिंट करना ("एन्क्रिप्टेड टेक्स्ट:", एन्क्रिप्टेड); कंसोल.लॉग (); // प्रिंट करना डिक्रिप्टेड textconsole.log("डिक्रिप्टेड टेक्स्ट:", डिक्रिप्टस्ट्रिंग(एन्क्रिप्टेड, "private_key"));

आउटपुट

C:\home\node>> नोड PrivateDecrypt.jsसादा टेक्स्ट:TutorialsPoint!एन्क्रिप्टेड टेक्स्ट:AbSrqG4qFBG1q9KUBt8ddJxk9uNanOHXqY19N0mNHx0fm4M119dZVhcNrAvM8UaIRJ TutorialsCPAJ! 
  1. क्रिप्टो.पब्लिकडिक्रिप्ट () Node.js में विधि

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

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

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

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

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