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

Node.js-এ crypto.privateEncrypt() মেথড

Node.js-এ crypto.privateEncrypt() মেথডটি ফাংশনে পাস করা প্রাইভেট কী প্যারামিটার ব্যবহার করে দেওয়া ডেটা কন্টেন্ট এনক্রিপ্ট করতে ব্যবহৃত হয়।

সিনট্যাক্স

crypto.privateEncrypt(privateKey, buffer)

প্যারামিটারসমূহ

  • privateKey – এতে নিচের ডেটা টাইপগুলো থাকতে পারে: Object, String, Buffer বা KeyObject।

    • key – এই কীটি 'PEM' এনকোডেড প্রাইভেট কী। কীটি string, buffer বা KeyObject টাইপের হতে পারে।

    • passphrase – প্রাইভেট কী-এর জন্য অপশনাল পাসফ्रेज ভ্যালু।

    • padding – crypto.constants-এ সংজ্ঞায়িত অপশনাল ভ্যালু।

  • buffer – ডিক্রিপ্ট করার জন্য ডেটা কন্টেন্ট। সম্ভাব্য বাফার টাইপ: string, TypedArray, Buffer, ArrayBuffer, DataView।

উদাহরণ ১

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

node privateEncrypt.js

privateEncrypt.js

// Node.js প্রোগ্রাম crypto.privateEncrypt() মেথডের ফ্লো দেখানোর জন্য
// crypto এবং fs মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
const fs = require("fs");

// generateKeyPairSync() মেথড ব্যবহার করে কী ফাইল জেনারেট করুন
function generateKeyFiles() {
    const keyPair = crypto.generateKeyPairSync('rsa', {
        modulusLength: 530,
        publicKeyEncoding: {
            type: 'spki',
            format: 'pem'
        },
        privateKeyEncoding: {
            type: 'pkcs8',
            format: 'pem',
            cipher: 'aes-256-cbc',
            passphrase: ''
        }
    });
    // কীগুলো নিচের ফাইলগুলিতে লিখুন
    fs.writeFileSync("private_key", keyPair.privateKey);
}

// জেনারেট কী মেথড কল করুন
generateKeyFiles();

// পাস করা স্ট্রিং এনক্রিপ্ট করুন
function encryptString (plaintext, publicKeyFile) {
    const publicKey = fs.readFileSync(publicKeyFile, "utf8");
    // privateEncrypt() মেথড এবং একটি পাবলিক কী ব্যবহার করে ডেটা এনক্রিপ্ট করুন
    const encrypted = crypto.privateEncrypt(publicKey, Buffer.from(plaintext));
    return encrypted.toString("base64");
}

// নিচের ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট হবে
const plainText = "TutorialsPoint!";

// স্ট্রিং এনক্রিপ্ট করার জন্য নিচের মেথড কল করুন
const encrypted = encryptString(plainText, "./private_key");

// প্লেইন টেক্সট প্রিন্ট করুন
console.log("Plaintext:", plainText);
// এনক্রিপ্টেড টেক্সট প্রিন্ট করুন
console.log("Encrypted Text: ", encrypted);
console.log();

আউটপুট

C:\home\node>> node privateEncrypt.js
Plaintext: TutorialsPoint!
Encrypted Text: AhphoL+l/e739LkdfCAm2XuiddgTG7jjdGlLviiRqD4LyTtxJmpkg5bSkyI7Og4XlBtszBB9HLQRH T5j850ZAxGYA==

উদাহরণ ২

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

// Node.js প্রোগ্রাম crypto.privateEncrypt() মেথডের ফ্লো দেখানোর জন্য
// crypto এবং fs মডিউল ইম্পোর্ট করুন
const crypto = require('crypto');
const fs = require("fs");

// generateKeyPairSync() মেথড ব্যবহার করে কী ফাইল জেনারেট করুন
function generateKeyFiles() {
    const keyPair = crypto.generateKeyPairSync('rsa', {
        modulusLength: 530,
        publicKeyEncoding: {
            type: 'spki',
            format: 'pem'
        },
        privateKeyEncoding: {
            type: 'pkcs8',
            format: 'pem',
            cipher: 'aes-256-cbc',
            passphrase: ''
        }
    });
    // কীগুলো নিচের ফাইলগুলিতে লিখুন
    fs.writeFileSync("private_key", keyPair.privateKey);
}

// জেনারেট কী মেথড কল করুন
generateKeyFiles();

// পাস করা স্ট্রিং এনক্রিপ্ট করুন
function encryptString (plaintext, publicKeyFile) {
    const publicKey = fs.readFileSync(publicKeyFile, "utf8");
    // privateEncrypt() মেথড এবং একটি পাবলিক কী ব্যবহার করে ডেটা এনক্রিপ্ট করুন
    const encrypted = crypto.privateEncrypt(publicKey, Buffer.from(plaintext));
    return encrypted;
}

// নিচের ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট হবে
const plainText = "TutorialsPoint!";

// স্ট্রিং এনক্রিপ্ট করার জন্য নিচের মেথড কল করুন
const encrypted = encryptString(plainText, "./private_key");

// প্লেইন টেক্সট প্রিন্ট করুন
console.log("Plaintext:", plainText);
// এনক্রিপ্টেড টেক্সট প্রিন্ট করুন
console.log("Encrypted Buffer: ", encrypted);
console.log();

আউটপুট

C:\home\node>> node privateEncrypt.js
Plaintext: TutorialsPoint!
Encrypted Buffer: 
  1. Node.js-এ crypto.publicEncrypt() মেথড

  2. Node.js-এ crypto.publicDecrypt() মেথড

  3. Node.js-এ crypto.privateDecrypt() মেথড

  4. Node.js-এ crypto.getHashes() মেথড