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

क्रिप्टो.जनरेटकीपेयरसिंक () Node.js में विधि

<घंटा/>

क्रिप्टो.जनरेटकीपेयरसिंक() का उपयोग सिंक प्रवाह में निर्दिष्ट प्रकार की एक नई असममित कुंजी जोड़ी उत्पन्न करने के लिए किया जा सकता है। कुंजी जोड़ी बनाने के लिए समर्थित प्रकार हैं:RSA, DSA, EC, Ed25519, Ed448, X25519, X448 और DH। फ़ंक्शन ऐसा व्यवहार करता है जैसे कि keyObject.export को उसके परिणाम पर कॉल किया गया है जब एक publicKeyEncoding या PrivateKeyEncoding निर्दिष्ट किया जाता है, अन्यथा keyObject का संबंधित भाग वापस कर दिया जाता है। सार्वजनिक कुंजी के लिए सुझाया गया प्रकार 'spki' है और निजी कुंजी के लिए यह 'pkcs8' है।

सिंटैक्स

crypto.generateKeyPairSync(प्रकार, विकल्प)

पैरामीटर

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

  • टाइप करें - इसमें स्ट्रिंग प्रकार होता है जिसके लिए कुंजी उत्पन्न करने की आवश्यकता होती है। समर्थित प्रकार हैं - RSA, DSA, EC, Ed25519, Ed448, X25519, X448 और DH.

  • विकल्प - यह निम्नलिखित मापदंडों को धारण कर सकता है -

    • मापांक लंबाई - यह प्रकार (आरएसए, डीएसए) के लिए बिट्स में कुंजी आकार रखता है।

    • सार्वजनिक एक्सपोनेंट - यह RSA एल्गोरिथम के लिए सार्वजनिक घातांक मान रखता है।

      डिफ़ॉल्ट मान है – 0x10001

    • भाजक लंबाई - यह बिट्स में q का आकार रखता है।

    • नामित वक्र - यह उपयोग किए जाने वाले वक्र का नाम धारण करेगा।

    • प्रमुख - यह डीएच जैसे प्रकारों के लिए प्रमुख पैरामीटर रखेगा।

    • प्राइमलेंथ - यह प्राइम लेंथ को बिट्स में होल्ड करेगा।

    • जनरेटर - यह पैरामीटर कस्टम जनरेटर मान रखता है, डिफ़ॉल्ट:2.

    • समूह का नाम - यह डीएच एल्गोरिथम के लिए भिन्न-नरक समूह का नाम है।

    • publicKeyEncoding - यह सार्वजनिक कुंजी एन्कोडिंग के लिए स्ट्रिंग मान रखेगा।

    • निजीकीएन्कोडिंग - यह निजी कुंजी एन्कोडिंग के लिए स्ट्रिंग मान रखेगा।

उदाहरण

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

नोड जनरेटKeyPairSync.js

KeyPairSync.js जेनरेट करें

// क्रिप्टो के प्रवाह को प्रदर्शित करने के लिए Node.js प्रोग्राम। processconst {publicKey, PrivateKey} =GenerateKeyPairSync('ec', {nameCurve:'secp256k1', // कार्यान्वयन विकल्प publicKeyEncoding:{ प्रकार:'spki', प्रारूप:'der'}, PrivateKeyEncoding:{ प्रकार:'pkcs8', प्रारूप :'der' }});// सिंक प्रक्रिया में असममित कुंजी जोड़ी को प्रिंट करना कंसोल.लॉग ("सार्वजनिक कुंजी है:", publicKey);console.log();console.log("निजी कुंजी है:" , प्राइवेटकी);

आउटपुट

C:\home\node>> नोड जनरेट करेंKeyPairSync.jsसार्वजनिक कुंजी है:<बफर 30 56 30 10 06 07 2a 86 48 सीई 3d 02 01 06 05 2b 8104 00 0a 03 42 00 04 a1 76 dd f0 fe 96 cc 28 59 a5 45 16 58 86 ca 3b 56 1e 04ee b0 de 28 67 0a 70 ...>निजी कुंजी है:<बफर 30 81 84 02 01 00 30 10 06 07 2a 86 48 ce 3d 0201 06 05 2b 81 04 00 0a 04 6d 30 6b 02 01 01 04 20 e6 f0 69 2e b0 35 7d 0b 5cba 76 fc dc 9f 95 ae d7 ...>

उदाहरण

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

// क्रिप्टो के प्रवाह को प्रदर्शित करने के लिए Node.js प्रोग्राम। processconst { publicKey, PrivateKey } =GenerateKeyPairSync ('dsa', {modulusLength:570, // कार्यान्वयन विकल्प publicKeyEncoding:{ टाइप:'spki', फ़ॉर्मैट:'der'}, PrivateKeyEncoding:{ टाइप:'pkcs8', फ़ॉर्मैट:' der'}});//एन्कोडिंग कंसोल के बाद असममित कुंजी जोड़ी को प्रिंट करना।;कंसोल.लॉग("------------------------------------------ ----------")console.log("Private Key is:", PrivateKey)console.log("निजी कुंजी बेस64 में है:", PrivateKey.toString('base64')); 

आउटपुट

C:\home\node>> नोड जनरेट करेंKeyPairSync.jsसार्वजनिक कुंजी है:<बफर 30 82 01 0f 30 81 bf 06 07 2a 86 48 CE 38 04 01 30 81b3 02 49 00 9a 5c dd a3 ce 0e 8e 3e 0e एड 11 96 13 फ़े ए 6 F6 35 27 0C 60 1c f951 ee dd 2c 75 12 ...> बेस 64 में सार्वजनिक कुंजी मान है:MIIBDzCBvwYHKoZIzjgEATCBswJJAJpc3aPODo4 + Du0RlhP + HKb2NScMYPlR7t0sdRJhr0JWPvtRyFWmn5ZAldFdDrUye5eQ + HmwgJboEWtCUm3b24CoLSQ74P1YkwIdAJs5rCSAIefaTT469xx + / 8C3jS4WjYpHci0rft8CR3Fx1wxDFdCHJBqPlR7iGxd + 7nZlChABL7UqCZMaiwCJ2ijVXc5dgr3Frudu7CbaAnRJStbqDjm5ppj4aaZV / 9FmKvWVao9wA0sAAkhQtXOIWQrHde + fXoZLgPhbTBctPB1tcFztNmq2s3IOKGfo2kFUL6eJu811SSZ1scQFLVKc5DrZIdW7t3UqzEH + xCVxNkWtGQk =- -------------------------------------------------- --निजी कुंजी है:<बफ़र 30 81 e5 02 01 00 30 81 bf 06 07 2a 86 48 CE 38 04 0130 81 b3 02 49 00 9a 5c dd a3 ce 0e 8e 3e 0e एड 11 96 13 fe 1c a6 f6 35 27 0c60 f9 51 ee dd 2c ...>बेस64 में निजी कुंजी है:MIHlAgEAMIG/BgcqhkjOOAQBMIGzAkkAmlzdo84Ojj4O7RGWE/4cpvY1Jwxg+VHu3Sx1EmGvQlY++1HIVaaflkCV7l5D4TTTTJ bgKgtJDvg / ViTAh0AmzmsJIAh59pNPjr3HH7 / wLeNLhaNikdyLSt + 3wJHcXHXDEMV0IckGo + VHuIbF37udmUKEAEvtSoJkxqLAInaKNVdzl2CvcWu527sJtoCdElK1uoOObmmmPhpplX / 0WYq9ZVqj3AEHgIcJ2ON17GGE4FrtkJak337GB + bAEkb + YjulN2rug ==

  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() पैरामीटर च