কম্পিউটার টিউটোরিয়াল

Node.js-এ Decipher.final() মেথড

Node.js-এ decipher.final() মেথডটি decipher অবজেক্টের ভ্যালু ধারণকারী একটি বাফার বা স্ট্রিং রিটার্ন করতে ব্যবহৃত হয়। এটি crypto মডিউলের Cipher ক্লাস দ্বারা প্রদত্ত একটি ইনবিল্ট মেথড। decipher.final মেথড কল হওয়ার পর decipher মেথড আর ডেটা ডিক্রিপ্ট করতে ব্যবহার করা যায় না। cipher.final মেথড একাধিকবার কল করলে এরর থ্রো করবে।

সিনট্যাক্স

decipher.final([outputEncoding])

প্যারামিটার

  • outputEncoding – আউটপুট এনকোডিং প্যারামিটার হিসেবে নেয়। এই প্যারামিটারের ইনপুট টাইপ স্ট্রিং। সম্ভাব্য মান: hex, base64, ইত্যাদি।

উদাহরণ ১

decipherFinal.js নামে একটি ফাইল তৈরি করুন এবং নিচের কোড স্নিপেটটি কপি করুন। ফাইল তৈরি করার পর নিচের কমান্ড দিয়ে কোডটি রান করুন:

node decipherFinal.js

decipherFinal.js

// cipher.final() মেথডের ব্যবহার দেখানোর উদাহরণ
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');

// AES অ্যালগরিদম ইনিশিয়ালাইজ করুন
const algorithm = 'aes-192-cbc';

// কী জেনারেট করার জন্য পাসওয়ার্ড ইনিশিয়ালাইজ করুন
const password = '12345678123456789';

// decipher অবজেক্টের জন্য কী রিট্রিভ করুন
const key = crypto.scryptSync(password, 'old data', 24);

// স্ট্যাটিক iv ইনিশিয়ালাইজ করুন
const iv = Buffer.alloc(16, 0);

const decipher = crypto.createDecipheriv(algorithm, key, iv);

// cipher অবজেক্ট পেতে ciphertext ইনিশিয়ালাইজ করুন
const encrypted1 = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a';

let decryptedValue1 = decipher.update(encrypted1, 'hex', 'utf8');
decryptedValue1 += decipher.final('utf8');

// ফলাফল প্রিন্ট করুন...
console.log("Decrypted value -- " + decryptedValue1);

আউটপুট

C:\home\node>> node decipherFinal.js
Decrypted value -- Welcome to tutorials point

উদাহরণ ২

আরেকটি উদাহরণ দেখি।

// cipher.final() মেথডের ব্যবহার দেখানোর উদাহরণ
// crypto মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');

// AES অ্যালগরিদম ইনিশিয়ালাইজ করুন
const algorithm = 'aes-192-cbc';

// কী জেনারেট করার জন্য পাসওয়ার্ড ইনিশিয়ালাইজ করুন
const password = '12345678123456789';

// decipher অবজেক্টের জন্য কী রিট্রিভ করুন
const key = crypto.scryptSync(password, 'old data', 24);

// স্ট্যাটিক iv ইনিশিয়ালাইজ করুন
const iv = Buffer.alloc(16, 0);

const decipher = crypto.createDecipheriv(algorithm, key, iv);

// cipher অবজেক্ট পেতে ciphertext ইনিশিয়ালাইজ করুন
const encrypted = 'a05e87569f3f04234812ae997da5684944c32b8776fae676b4abe9074b31cd2a';

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-এ script.createCachedData() মেথড

  2. Node.js-এ process.env() মেথড

  3. Node.js-এ process.argv0() মেথড

  4. Node.js-এ process.argv() মেথড