crypto.privateDecrypt() প্যারামিটারে পাস করা একটি ব্যক্তিগত কী ব্যবহার করে প্রদত্ত ডেটা সামগ্রী ডিক্রিপ্ট করার জন্য ব্যবহৃত হয় যা পূর্বে crypto.publicEncrypt() পদ্ধতির সাথে সংশ্লিষ্ট পাবলিক কী ব্যবহার করে এনক্রিপ্ট করা হয়েছিল।
সিনট্যাক্স
crypto.privateDecrypt(privateKey, বাফার)
পরামিতি
উপরোক্ত পরামিতিগুলি নীচে −
হিসাবে বর্ণনা করা হয়েছে-
কী - এটিতে নিম্নলিখিত ধরণের 5 প্রকারের ডেটা থাকতে পারে - অবজেক্ট, স্ট্রিং, বাফার বা কীঅবজেক্ট৷
-
oaepHash - এই ক্ষেত্রটিতে OAEP প্যাডিং এবং MGF1 এর জন্য ব্যবহার করা হ্যাশ ফাংশন রয়েছে৷ ডিফল্ট মান হল:'sha1'।
-
oaepLabel - এই ক্ষেত্রটিতে OAEP প্যাডিংয়ের মান রয়েছে। নির্দিষ্ট না থাকলে কোন লেবেল ব্যবহার করা হয় না।
-
প্যাডিং – এটি একটি ঐচ্ছিক মান যা crypto.constants এ সংজ্ঞায়িত করা হয়েছে।
-
-
বাফার - এই ক্ষেত্রটিতে ডিক্রিপ্ট করা ডেটা সামগ্রী রয়েছে৷ সম্ভাব্য বাফার প্রকারগুলি হল:string, TypedArray, Buffer, ArrayBuffer, DataView.
উদাহরণ
নাম দিয়ে একটি ফাইল তৈরি করুন – privateDecrypt.js এবং নিচের কোড স্নিপেটটি কপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −
নোড privateDecrypt.js
privateDecrypt.js
crypto.privateDecrypt() পদ্ধতির প্রবাহ প্রদর্শনের জন্য// Node.js প্রোগ্রাম Public Key.//আপনি generateKeyPair()publicKey =fs.readFileSync('public_key').toString();// এনক্রিপ্টেডভার buf =Buffer.from('Hello TutorialsPoint',' হতে নিচের লেখাটি পাস করা) ব্যবহার করে এই কীগুলি তৈরি করতে পারেন। utf8');// উপরের textsecretData =crypto.publicEncrypt(publicKey, buf);// এনক্রিপ্ট করা textconsole.log(secretData);// ব্যক্তিগত keyprivateKey =fs.readFileSync('private_key(String') পড়া। );// এনক্রিপ্ট করা textorigData =crypto.privateDecrypt(privateKey, secretData);console.log();// মূল পাঠ্যটিকে bufferconsole.log(origData) হিসাবে প্রিন্ট করা;
আউটপুট
C:\home\node>> node privateDecrypt.jsউদাহরণ
আসুন আরও একটি উদাহরণ দেখি।
crypto.privateDecrypt() পদ্ধতির প্রবাহ প্রদর্শনের জন্য// Node.js প্রোগ্রাম generateKeyPairSync() মেথড ফাংশন generateKeyFiles() ব্যবহার করে ফাইলগুলি { const keyPair =crypto.generateKeyPairSync('rsa', { modulusLength:530, publicKeyEncoding:{ type:'spki', format:'pemcs' {private type':En} , বিন্যাস:'pem', সাইফার:'aes-256-cbc', পাসফ্রেজ:'' } }); // নিম্নলিখিত ফাইলগুলিতে কীগুলি লেখা fs.writeFileSync("public_key", keyPair.publicKey); fs.writeFileSync("private_key", keyPair.privateKey) // publicEncrypt() পদ্ধতি ব্যবহার করে ডেটা এনক্রিপ্ট করা এবং একটি পাবলিক কী const encrypted =crypto.publicEncrypt( publicKey, Buffer.from(plaintext)); encrypted.toString("base64");}// পাস করা স্ট্রিংটিকে প্রাইভেট কীফাংশন ডিক্রিপ্টস্ট্রিং (সাইফারটেক্সট, প্রাইভেটকিফাইল) দিয়ে ডিক্রিপ্ট করা { const privateKey =fs.readFileSync(privateKeyFile, "utf8"); // privateDecrypt() পদ্ধতি ব্যবহার করে ডেটা ডিক্রিপ্ট করা // এবং সংশ্লিষ্ট প্রাইভেট কী const decrypted =crypto.privateDecrypt( { key:privateKey, পাসফ্রেজ:'', }, Buffer.from(ciphertext, "base64") ); return decrypted.toString("utf8");}// নিম্নলিখিত ডেটা এনক্রিপ্ট করা হবে এবং decryptedconst plainText ="TutorialsPoint!";// stringconst encrypted =encryptString(plainText, "./public_key) এনক্রিপ্ট করতে নীচের পদ্ধতিতে কল করা হচ্ছে; / প্লেইন textconsole.log("Plaintext:", plainText);console.log();// প্রিন্ট করা হচ্ছে এনক্রিপ্ট করা textconsole.log("এনক্রিপ্ট করা লেখা:", এনক্রিপ্টেড);console.log();// প্রিন্ট করা হচ্ছে decrypted textconsole.log("ডিক্রিপ্ট করা পাঠ্য:", decryptString(এনক্রিপ্ট করা, "private_key"));আউটপুট
C:\ HOME \ NODE>> NODESPOINT! এনক্রিপ্টেড টেক্সট:absrqg4qfbg1q9kubt8ddjxk9unanohxqy19n0mnhx0FM4M119DZVHCNRAVM8UAIRJVH7ASDWYJV1SPA25KPEJUJUJQ ==DECROPTED পাঠ্য:TutorialSpoint!