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

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

<घंटा/>

Crypto.privateEncrypt() का उपयोग फ़ंक्शन में दिए गए निजी कुंजी पैरामीटर का उपयोग करके दी गई डेटा सामग्री को एन्क्रिप्ट करने के लिए किया जाता है।

सिंटैक्स

crypto.privateEncrypt(privateKey, बफर)

पैरामीटर

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

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

    • कुंजी - यह कुंजी एक 'पीईएम' एन्कोडेड निजी कुंजी है। कुंजी स्ट्रिंग, बफ़र या KeyObject प्रकार की हो सकती है।

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

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

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

उदाहरण

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

नोड PrivateEncrypt.js

privateEncrypt.js

// 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("private_key", keyPair.privateKey);}// कॉलिंग जनरेट कीज़ मेथडजेनरेटकीफाइल्स ();// पारित स्ट्रिंगफंक्शन को एन्क्रिप्ट करना एन्क्रिप्टस्ट्रिंग (प्लेनटेक्स्ट, पब्लिककेफाइल) { const publicKey =fs. readFileSync (publicKeyFile, "utf8"); // PrivateEncrypt () विधि का उपयोग करके डेटा को एन्क्रिप्ट करना और एक सार्वजनिक कुंजी कॉन्स्ट एन्क्रिप्टेड =क्रिप्टो.प्राइवेटएन्क्रिप्ट (publicKey, Buffer.from (plaintext)); वापसी एन्क्रिप्टेड.toString("base64");}// निम्नलिखित डेटा एन्क्रिप्ट किया जाएगा और डिक्रिप्टेडकॉन्स्ट प्लेनटेक्स्ट ="ट्यूटोरियल्सपॉइंट!";// स्ट्रिंगकॉन्स्ट एन्क्रिप्टेड को एन्क्रिप्ट करने के लिए नीचे दी गई विधि को कॉल करना =एन्क्रिप्टस्ट्रिंग (plainText, "./private_key");/ / सादा टेक्स्ट कंसोल.लॉग प्रिंट करना ("प्लेनटेक्स्ट:", प्लेनटेक्स्ट);// एन्क्रिप्टेड टेक्स्ट कंसोल.लॉग को प्रिंट करना ("एन्क्रिप्टेड टेक्स्ट:", एन्क्रिप्टेड); कंसोल.लॉग ();

आउटपुट

C:\home\node>> नोड PrivateEncrypt.jsसादा टेक्स्ट:TutorialsPoint!एन्क्रिप्टेड टेक्स्ट:AhphoL+l/e739LkdfCAm2XuiddgTG7jjdGlLviiRqD4LyTtxJmpkgq5bSkyI7Og4XlBtszBB9ZAxRHT5bSkyI7Og4XlBtszBB9ZAxRHT5bSkyI7Og4XlBtszBB9ZAxRHT5 

उदाहरण

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

// 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("private_key", keyPair.privateKey);}// कॉलिंग जनरेट कीज़ मेथडजेनरेटकीफाइल्स ();// पारित स्ट्रिंगफंक्शन को एन्क्रिप्ट करना एन्क्रिप्टस्ट्रिंग (प्लेनटेक्स्ट, पब्लिककेफाइल) { const publicKey =fs. readFileSync (publicKeyFile, "utf8"); // PrivateEncrypt () विधि का उपयोग करके डेटा को एन्क्रिप्ट करना और एक सार्वजनिक कुंजी कॉन्स्ट एन्क्रिप्टेड =क्रिप्टो.प्राइवेटएन्क्रिप्ट (publicKey, Buffer.from (plaintext)); एन्क्रिप्टेड लौटाएं;}// निम्नलिखित डेटा एन्क्रिप्ट किया जाएगा और डिक्रिप्टेड कॉन्स्ट प्लेनटेक्स्ट ="ट्यूटोरियल्सपॉइंट!"; // स्ट्रिंगकॉन्स्ट एन्क्रिप्टेड को एन्क्रिप्ट करने के लिए नीचे दी गई विधि को कॉल करना =एन्क्रिप्टस्ट्रिंग (सादा टेक्स्ट, "./private_key"); // सादा टेक्स्ट कंसोल प्रिंट करना। लॉग ("प्लेनटेक्स्ट:", प्लेनटेक्स्ट);// एन्क्रिप्टेड टेक्स्ट कंसोल.लॉग को प्रिंट करना ("एन्क्रिप्टेड बफर:", एन्क्रिप्टेड); कंसोल.लॉग ();

आउटपुट

सी:\होम\नोड>> नोड प्राइवेटएन्क्रिप्ट.जेएसप्लेनटेक्स्ट:ट्यूटोरियल प्वाइंट!एन्क्रिप्टेड बफर:<बफर 00 a2 सीई 5d 27 d7 15 ec a7 bc 5b 12 73 62 92 82 82 6df9 6b 82 38 06 dd bf b3 b8 1f 23 b4 d9 e9 aa 1c 50 0f c9 d7 12 f9 17 db 91 dc05 46 b0 0c 08 14 50 ...>

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

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

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

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

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

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