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: