विवरण
crypto.createCipheriv() विधि पहले दिए गए एल्गोरिदम के अनुसार दिए गए कुंजी और प्राधिकरण कारक (iv) के लिए सिफर ऑब्जेक्ट बनाएगी और फिर उसे लौटाएगी।
सिंटैक्स
crypto.createCipheriv(algorithm, key, iv, options)
पैरामीटर
algorithm - यह सिफर बनाने के लिए उपयोग किए जाने वाले एल्गोरिदम के लिए इनपुट लेता है। कुछ संभावित मान हैं: aes192, aes256, आदि।
key - यह एल्गोरिदम और iv द्वारा उपयोग की जाने वाली रॉ कुंजी के लिए इनपुट लेता है। संभावित मान प्रकार हो सकते हैं: स्ट्रिंग, बफर, TypedArray या DataView। यह वैकल्पिक रूप से सीक्रेट प्रकार का एक ऑब्जेक्ट भी हो सकता है।
iv - जिसे इनिशियलाइज़ेशन वेक्टर के रूप में भी जाना जाता है। यह पैरामीटर iv के लिए इनपुट लेता है जो सिफर को अनिश्चित और अद्वितीय बनाता है। यह गुप्त होने की आवश्यकता नहीं है। इसके संभावित मूल्य प्रकार हैं: स्ट्रिंग, बफर, TypedArray, DataView। यदि सिफर द्वारा आवश्यक नहीं है तो यह null हो सकता है।
options - यह स्ट्रीम व्यवहार को नियंत्रित करने के लिए एक वैकल्पिक पैरामीटर है। यह वैकल्पिक नहीं है जब सिफर CCM या OCB मोड में उपयोग किया जाता है (जैसे 'aes-256-ccm')।
उदाहरण
createCipheriv.js नाम से एक फ़ाइल बनाएं और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें:
node createCipheriv.js
createCipheriv.js
// ECDH बनाने के लिए एक नोड डेमो प्रोग्राम // क्रिप्टो मॉड्यूल आयात करें const crypto = require('crypto'); // एल्गोरिदम इनिशियलाइज़ करें const algorithm = 'aes-256-cbc'; // कुंजी इनिशियलाइज़ करें const key = crypto.randomBytes(32); // iv वेक्टर इनिशियलाइज़ करें const iv = crypto.randomBytes(16); // डेटा एन्क्रिप्ट करने के लिए फ़ंक्शन बनाएं function encrypt(text) { // उपरोक्त परिभाषित पैरामीटर्स के साथ सिफर बनाएं let cipher = crypto.createCipheriv( 'aes-256-cbc', Buffer.from(key), iv); let encrypted = cipher.update(text); encrypted = Buffer.concat([encrypted, cipher.final()]); // iv और एन्क्रिप्टेड डेटा लौटाएं return { iv: iv.toString('hex'), encryptedData: encrypted.toString('hex') }; } // सार्वजनिक और निजी कर्व कुंजियाँ प्रिंट करें... var output = encrypt("TutorialsPoint"); console.log(output);आउटपुट
C:\home\node>> node createCipheriv.js { iv: '3dd899aa441c00d4d8d2ff95abb2e684', encryptedData: 'b4985053bc1507fc25a4d99823dc8b03' }उदाहरण
एक और उदाहरण देखते हैं।
// ECDH बनाने के लिए एक नोड डेमो प्रोग्राम // क्रिप्टो मॉड्यूल आयात करें const crypto = require('crypto'); // एल्गोरिदम इनिशियलाइज़ करें const algorithm = 'aes-192-cbc'; // पासवर्ड परिभाषित और इनिशियलाइज़ करें const password = '123456789' // कुंजी इनिशियलाइज़ करें const key = crypto.scryptSync(password, 'TutorialsPoint', 24); // iv वेक्टर इनिशियलाइज़ करें const iv = Buffer.alloc(16, 0); // उपरोक्त परिभाषित पैरामीटर्स के साथ सिफर बनाएं const cipher = crypto.createCipheriv(algorithm, key, iv); let encrypted = ''; // डेटा पढ़ें और एन्क्रिप्ट करें cipher.on('readable', () => { let chunk; while (null !== (chunk = cipher.read())) { encrypted += chunk.toString('base64'); } }); // क्लोजिंग/एंड इवेंट को संभालें cipher.on('end', () => { console.log(encrypted); }); // सार्वजनिक और निजी कर्व कुंजियाँ प्रिंट करें... cipher.write('TutorialsPoint'); cipher.end(); console.log("Completed... !");आउटपुट
C:\home\node>> node createCipheriv.js Completed... ! uqeQEkXy5dpJjQv+JDvMHw==