Node.js में decipher.update() मेथड का उपयोग दिए गए एन्कोडिंग फॉर्मेट के अनुसार प्राप्त डेटा के साथ डिसीफर को अपडेट करने के लिए किया जाता है। यह crypto मॉड्यूल के भीतर Decipher क्लास द्वारा प्रदान की गई एक इनबिल्ट मेथड है। यदि इनपुट एन्कोडिंग निर्दिष्ट है, तो डेटा आर्गुमेंट एक स्ट्रिंग होता है, अन्यथा डेटा आर्गुमेंट एक बफर होता है।
सिंटैक्स
decipher.update(data, [inputEncoding], [outputEncoding])
पैरामीटर्स
उपरोक्त पैरामीटर्स का विवरण नीचे दिया गया है:
data – यह डिसीफर कंटेंट को अपडेट करने के लिए पास किए गए डेटा को इनपुट के रूप में लेता है।
inputEncoding – यह इनपुट एन्कोडिंग को पैरामीटर के रूप में लेता है। संभावित इनपुट मान हैं: hex, base64, आदि।
outputEncoding – यह आउटपुट एन्कोडिंग को पैरामीटर के रूप में लेता है। इस पैरामीटर के लिए इनपुट प्रकार स्ट्रिंग है। संभावित इनपुट मान हैं: hex, base64, आदि।
उदाहरण 1: सिंक्रोनस डिक्रिप्शन
decipherUpdate.js नाम से एक फाइल बनाएं और नीचे दिया गया कोड स्निपेट कॉपी करें। फाइल बनाने के बाद, नीचे दिखाए अनुसार कोड चलाने के लिए निम्न कमांड का उपयोग करें:
node decipherUpdate.js
decipherUpdate.js
// decipher.final() मेथड के उपयोग का प्रदर्शन करने का उदाहरण
// crypto मॉड्यूल इम्पोर्ट करना
const crypto = require('crypto');
// AES एल्गोरिदम इनिशियलाइज़ करना
const algorithm = 'aes-192-cbc';
// की जेनरेट करने के लिए उपयोग किए जाने वाले पासवर्ड को इनिशियलाइज़ करना
const password = '12345678123456789';
// डिसीफर ऑब्जेक्ट के लिए की प्राप्त करना
const key = crypto.scryptSync(password, 'old data', 24);
// स्टेटिक iv इनिशियलाइज़ करना
const iv = Buffer.alloc(16, 0);
const decipher = crypto.createDecipheriv(algorithm, key, iv);
// डिसीफर ऑब्जेक्ट को इनिशियलाइज़ करके डिसीफर प्राप्त करना
const encrypted = '083bfe1b2f91677e5d00add115be2f1b2e362e190406f5c6b60e86969bf03bff';
// const encrypted2 = '8d11772fce59f08e7558db5bf17b3112';
let decryptedValue = decipher.update(encrypted, 'hex', 'utf8');
// let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8');
decryptedValue += decipher.final('utf8');
// परिणाम प्रिंट करना...
console.log("Decrypted value -- " + decryptedValue);
// console.log("Base64 String:- " + base64Value)
आउटपुट
C:\home\node>> node decipherUpdate.js Decrypted value -- Some new text data
उदाहरण 2: असिंक्रोनस डिक्रिप्शन
आइए एक और उदाहरण देखते हैं।
// decipher.final() मेथड के उपयोग का प्रदर्शन करने का उदाहरण
// crypto मॉड्यूल इम्पोर्ट करना
const crypto = require('crypto');
// AES एल्गोरिदम इनिशियलाइज़ करना
const algorithm = 'aes-192-cbc';
// की जेनरेट करने के लिए उपयोग किए जाने वाले पासवर्ड को इनिशियलाइज़ करना
const password = '12345678123456789';
// डिसीफर ऑब्जेक्ट के लिए की प्राप्त करना
crypto.scrypt(password, 'salt', 24, { N: 512 }, (err, key) => {
if (err) throw err;
// स्टेटिक iv इनिशियलाइज़ करना
const iv = Buffer.alloc(16, 0);
// एल्गो, की और iv के साथ डिसीफर इनिशियलाइज़ करना
const decipher = crypto.createDecipheriv(algorithm, key, iv);
const encrypted = '91d6d37e70fbae537715f0a921d15152194435b96ce3973d92fbbc4a82071074';
// डिक्रिप्टेड स्ट्रिंग मान प्राप्त करना
const decrypted = decipher.update(encrypted, 'hex', 'utf8');
// परिणाम प्रिंट करना...
console.log("Decrypted value:- " + decrypted);
});
आउटपुट
C:\home\node>> node decipherUpdate.js Decrypted value:- Some new text data