crypto.publicEncrypt() প্যারামিটারে পাস করা একটি পাবলিক কী ব্যবহার করে বাফার প্যারামিটারে প্রদত্ত ডেটা এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। প্রত্যাবর্তিত ডেটা সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে ডিক্রিপ্ট করা যেতে পারে।
সিনট্যাক্স
crypto.publicEncrypt(কী, বাফার)
পরামিতি
উপরের পরামিতিগুলি নীচে −
হিসাবে বর্ণনা করা হয়েছে-
কী - এটিতে নিম্নলিখিত ধরণের 5 প্রকারের ডেটা থাকতে পারে - অবজেক্ট, স্ট্রিং, বাফার বা কীঅবজেক্ট৷
-
কী - এই ক্ষেত্রটিতে PEM এনকোড করা সর্বজনীন বা ব্যক্তিগত কী রয়েছে। এটি স্ট্রিং, বাফার বা কীঅবজেক্ট টাইপ হতে পারে।
-
oaepHash - এই ক্ষেত্রটিতে OAEP প্যাডিং এবং MGF1 এর জন্য ব্যবহার করা হ্যাশ ফাংশন রয়েছে৷ ডিফল্ট মান হল:'sha1'।
-
oaepLabel - এই ক্ষেত্রটিতে OAEP প্যাডিংয়ের মান রয়েছে। নির্দিষ্ট না থাকলে কোন লেবেল ব্যবহার করা হয় না।
-
পাসফ্রেজ - এটি ব্যক্তিগত কী-এর জন্য একটি ঐচ্ছিক পাসফ্রেজ৷
৷ -
প্যাডিং – এটি একটি ঐচ্ছিক মান যা crypto.constants এ সংজ্ঞায়িত করা হয়েছে।
-
এনকোডিং – এটি এমন একটি এনকোডিং যা ব্যবহার করা প্রয়োজন যখন বাফার, কী, oaepLabel বা পাসফ্রেজ মান স্ট্রিং হয়৷
-
-
বাফার - এই ক্ষেত্রটিতে এনক্রিপ্ট করা ডেটা সামগ্রী রয়েছে৷ সম্ভাব্য বাফার প্রকারগুলি হল:string, TypedArray, Buffer, ArrayBuffer, DataView.
উদাহরণ
নাম দিয়ে একটি ফাইল তৈরি করুন – publicEncrypt.js এবং নীচের কোড স্নিপেটটি অনুলিপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −
node publicEncrypt.js
publicEncrypt.js
Crypto.publicEncrypt() পদ্ধতির প্রবাহ প্রদর্শনের জন্য// Node.js প্রোগ্রাম কী ফাংশন তৈরি করার জন্য ফাংশন generateKeyFiles() { const keyPair =crypto.generateKeyPairSync('rsa', { modulusLength:520, publicKeyEncoding:{ type:'spki', ফরম্যাট:'pem' }, private KeyEncoding:{8 type:' :'পেম', সাইফার:'aes-256-cbc', পাসফ্রেজ:'' } }); // নিচের নাম দিয়ে পাবলিক কী ফাইল তৈরি করা হচ্ছে fs.writeFileSync("public_key", keyPair.publicKey);}// কীজজেনারেটকিফাইলস();// নিচের ফাংশন ফাংশন এনক্রিপ্টস্ট্রিং ব্যবহার করে স্ট্রিং এনক্রিপ্ট করা হচ্ছে (প্লেইনটেক্সট, পাবলিককিফাইল) { const publicKey fs.readFileSync(publicKeyFile, "utf8"); //কলিং publicEncrypt() নীচের প্যারামিটার সহ const encrypted =crypto.publicEncrypt( publicKey, Buffer.from(plaintext)); encrypted.toString("base64");}// টেক্সট যা encryptedconst হবে plainText ="TutorialsPoint";// সংজ্ঞায়িত করা এনক্রিপ্ট করা textconst encrypted =encryptString(plainText, "./public_key");/ টেক্সট কনসোল ইন। ("Plaintext:", plainText);// এনক্রিপ্ট করা textconsole.log("এনক্রিপ্ট করা:", এনক্রিপ্টেড);
আউটপুট
C:\home\node>> নোড publicEncrypt.jsPlaintext:TutorialsPointEncrypted:kgnqPxy/n34z+/5wd7MZiMAL5LrQisTLfZiWoSChXSvxgtifMQaZ56cbFNU+TQ556CbFNUQTQ56উদাহরণ
আসুন আরও একটি উদাহরণ দেখি।
Crypto.publicEncrypt() পদ্ধতির প্রবাহ প্রদর্শনের জন্য// Node.js প্রোগ্রাম কী ফাংশন তৈরি করার জন্য ফাংশন generateKeyFiles() { const keyPair =crypto.generateKeyPairSync('rsa', { modulusLength:520, publicKeyEncoding:{ type:'spki', ফরম্যাট:'pem' }, private KeyEncoding:{8 type:' :'পেম', সাইফার:'aes-256-cbc', পাসফ্রেজ:'' } }); // সর্বজনীন কী ফাইল তৈরি করা হচ্ছে fs.writeFileSync("public_key", keyPair.publicKey);}// কীজজেনারেটকিফাইলস();// নিচের ফাংশন ফাংশন এনক্রিপ্টস্ট্রিং (plaintext, publicKeyFile) ব্যবহার করে স্ট্রিং এনক্রিপ্ট করা হচ্ছে publicKeyFile, "utf8"); //কলিং publicEncrypt() নীচের প্যারামিটার সহ const encrypted =crypto.publicEncrypt( publicKey, Buffer.from(plaintext)); return encrypted;}// Text that will be encryptedconst plainText ="হ্যালো টিউটোরিয়ালসপয়েন্ট!";// এনক্রিপ্ট করা টেক্সটকনস্ট এনক্রিপ্ট করা সংজ্ঞায়িত করা =এনক্রিপ্টস্ট্রিং(plainText, "./public_key");// প্রিন্টিং প্লেইন textconsole.log(") , plainText);// এনক্রিপ্ট করা bufferconsole.log("Buffer:", এনক্রিপ্টেড);আউটপুট
C:\home\node>> node publicEncrypt.jsPlaintext:Hello TutorialsPoint!Buffer: