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

Node.js में decipher.final() मेथड


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

  1. - Node.js में process.env प्रॉपर्टी

    Node.js में process.env प्रॉपर्टी का उपयोग यूज़र एनवायरनमेंट ऑब्जेक्ट प्राप्त करने के लिए किया जाता है। इस ऑब्जेक्ट में उस एनवायरनमेंट के बारे में सभी जानकारी होती है जिस पर यह कमांड निष्पादित की जा रही है। सिंटैक्स process.env पैरामीटर्स चूंकि यह यूज़र एनवायरनमेंट के लिए एक ऑब्जेक्ट वापस करता है

  1. - Node.js में process.argv0 प्रॉपर्टी

    Node.js में process.argv0 प्रॉपर्टी का उपयोग argv[0] के मूल मान की रीड-ओनली कॉपी स्टोर करने के लिए किया जाता है जो Node.js एप्लिकेशन शुरू होने पर पास किया जाता है। सिंटैक्स process.argv0 पैरामीटर्स चूंकि यह argv[0] के स्टोर किए गए मान की केवल रीड-ओनली कॉपी वापस करता है। इसे उपयोगकर्ता से किसी इनप

  1. - Node.js में process.argv प्रॉपर्टी

    Node.js में process.argv प्रॉपर्टी का उपयोग उन सभी कमांड-लाइन आर्गुमेंट्स को वापस करने के लिए किया जाता है जो Node.js प्रोसेस लॉन्च होने पर पास किए गए थे। पहला एलिमेंट हमेशा process.execPath के समान मान रखता है। सिंटैक्स process.argv पैरामीटर्स चूंकि यह Node.js प्रोसेस से पहले पास किए गए सभी कमां