Node.js में decipher.final() मेथड का उपयोग डिसीफर ऑब्जेक्ट के मान वाले बफर या स्ट्रिंग को वापस करने के लिए किया जाता है। यह crypto मॉड्यूल के भीतर Cipher क्लास द्वारा प्रदान की गई एक इनबिल्ट मेथड है। एक बार decipher.final मेथड कॉल हो जाने के बाद डिसीफर मेथड का उपयोग डेटा डिक्रिप्ट करने के लिए नहीं किया जा सकता। cipher.final मेथड को एक से अधिक बार कॉल करने पर त्रुटि आएगी।
सिंटैक्स
decipher.final([outputEncoding])
पैरामीटर्स
उपरोक्त पैरामीटर्स का विवरण नीचे दिया गया है:
outputEncoding – यह आउटपुट एन्कोडिंग को पैरामीटर के रूप में लेता है। इस पैरामीटर के लिए इनपुट प्रकार स्ट्रिंग है। संभावित इनपुट मान हैं: hex, base64, आदि।
उदाहरण 1: डिक्रिप्शन पूरा करना
decipherFinal.js नाम से एक फाइल बनाएं और नीचे दिया गया कोड स्निपेट कॉपी करें। फाइल बनाने के बाद, नीचे दिखाए अनुसार कोड चलाने के लिए निम्न कमांड का उपयोग करें:
node decipherFinal.js
decipherFinal.js
// cipher.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 encrypted1 = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a';
// const encrypted2 = '8d11772fce59f08e7558db5bf17b3112';
let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8');
// let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8');
decryptedValue1 += decipher.final('utf8');
// परिणाम प्रिंट करना...
console.log("Decrypted value -- " + decryptedValue1);
// console.log("Base64 String:- " + base64Value)
आउटपुट
C:\home\node>> node decipherFinal.js Decrypted value -- Welcome to tutorials point
उदाहरण 2: बफर के साथ डिक्रिप्शन
आइए एक और उदाहरण देखते हैं।
// cipher.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 = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a'
// const encrypted2 = '8d11772fce59f08e7558db5bf17b3112'
var buf = []
// डिसीफर डेटा अपडेट करना
let decrypted = decipher.update(encrypted, 'hex', 'utf8')
// डिक्रिप्शन के बाद डेटा को बफर में पुश करना
buf.push(decrypted)
buf.push(decipher.final('utf8'))
// परिणाम प्रिंट करना
console.log(buf.join(' '))
आउटपुट
C:\home\node>> node decipherFinal.js Welcome to tutor ials point