কম্পিউটার

Node.js-এ crypto.createDecipheriv() পদ্ধতি


crypto.createCipheriv() হল 'ক্রিপ্টো' মডিউল থেকে একটি প্রোগ্রামিং ইন্টারফেস। এটি প্রদত্ত অ্যালগরিদম, কী, iv এবং ফাংশনে পাস করা বিকল্পগুলি অনুসারে ডিসিফার অবজেক্ট তৈরি করবে এবং ফেরত দেবে।

সিনট্যাক্স

crypto.createDecipheriv(অ্যালগরিদম, কী, iv, [বিকল্প])

পরামিতি

উপরের পরামিতিগুলি নীচে −

হিসাবে বর্ণনা করা হয়েছে
  • অ্যালগরিদম - এটি অ্যালগরিদমের জন্য ইনপুট নেয় যা সাইফার তৈরি করতে ব্যবহার করা হবে। কিছু সম্ভাব্য মান হল:aes192, aes256, ইত্যাদি।

  • কী - এটি কাঁচা কীটির জন্য ইনপুট নেয় যা অ্যালগরিদম এবং iv দ্বারা ব্যবহৃত হয়। সম্ভাব্য মান টাইপের হতে পারে:স্ট্রিং, বাফার, টাইপডঅ্যারে বা ডেটাভিউ। এটি ঐচ্ছিকভাবে গোপন টাইপের একটি টাইপ অবজেক্ট হতে পারে।

  • iv - প্রারম্ভিক ভেক্টর হিসাবেও পরিচিত। এই প্যারামিটারটি iv এর জন্য ইনপুট নেয় যা সাইফারটিকে অনিশ্চিত এবং অনন্য করে তুলবে। এটি একটি গোপন হতে হবে না. এর সম্ভাব্য মান প্রকারগুলি হল:স্ট্রিং, বাফার, টাইপডঅ্যারে, ডেটাভিউ। সাইফারের প্রয়োজন না হলে এটি শূন্য হতে পারে।

  • বিকল্পগুলি ৷ - এটি স্ট্রিম আচরণ নিয়ন্ত্রণ করার জন্য একটি ঐচ্ছিক পরামিতি। এটি ঐচ্ছিক নয় যখন সাইফার CCM বা OCB মোডে ব্যবহার করা হয় (যেমন 'aes-256-ccm')

উদাহরণ

নামের একটি ফাইল তৈরি করুন - createDecipheriv.js এবং নীচের কোড স্নিপেটটি অনুলিপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −

নোড createDecipheriv.js

createDecipheriv.js

// ECDH তৈরির জন্য একটি নোড ডেমো প্রোগ্রাম// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো =প্রয়োজন('ক্রিপ্টো') আমদানি করা;// অ্যালগরিদমকনস্ট অ্যালগরিদম শুরু করা ='aes-192-cbc';// পাসওয়ার্ড কনস্টের সংজ্ঞা এবং আরম্ভ করা password ='123456789'// কীকনস্ট কী শুরু করা =crypto.scryptSync(পাসওয়ার্ড, 'TutorialsPoint', 24);// iv vectorconst সূচনা করা iv =Buffer.alloc(16, 0);// উপরের দিয়ে ডিসিফার তৈরি করা defined parametersconst decipher =crypto.createDecipheriv(algorithm, key, iv);let decrypted ='';// datadecipher.on('readable', () => { লেট খণ্ড; যখন (null !==( chunk =decipher.read()) { decrypted +=chunk.toString('utf8'); }});//ক্লোজিং/এন্ড ইভেন্টডেসিফার.on('end', () => { console.log( ডিক্রিপ্ট করা;});// এনক্রিপ্ট করা ডেটা যা decryptedconst encrypted ='uqeQEkXy5dpJjQv+JDvMHw==';// প্রিন্ট করা ডিক্রিপ্ট করা textdecipher.write(এনক্রিপ্ট করা, 'base64');(decipher)। লগ("সম্পূর্ণ...!");

আউটপুট

C:\home\node>> node createDecipheriv.jsসম্পূর্ণ... !TutorialsPoint

উদাহরণ

আসুন আরও একটি উদাহরণ দেখি।

// ECDH তৈরির জন্য একটি নোড ডেমো প্রোগ্রাম// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো =প্রয়োজন('ক্রিপ্টো') আমদানি করা;// অ্যালগরিদমকনস্ট অ্যালগরিদম শুরু করা ='aes-256-cbc';// পাসওয়ার্ড কনস্টের সংজ্ঞা এবং আরম্ভ করা password ='123456789'// কীকনস্ট কী শুরু করা =crypto.randomBytes(32);// iv vectorconst সূচনা করা iv =crypto.randomBytes(16);// ডেটা ফাংশন এনক্রিপ্ট করতে এনক্রিপ্ট ফাংশন এনক্রিপ্ট (টেক্সট) {// তৈরি করা উপরের সংজ্ঞায়িত প্যারামিটার সহ সাইফার =crypto.createCipheriv('aes-256-cbc', Buffer.from(key), iv);// এনক্রিপ্ট করা পাঠ্য আপডেট করা হচ্ছে... এনক্রিপ্ট করা =cipher.update(টেক্সট); // concatenationencrypted =Buffer.concat([encrypted, cipher.final()] ব্যবহার করা;// এনক্রিপ্ট করা ডেটা রিটার্ন { iv:iv.toString('hex'), encryptedData:encrypted.toString(' সহ iv ভেক্টর রিটার্ন করা hex') };}//ডেটাফাংশন ডিক্রিপ্ট করার জন্য ডিক্রিপ্ট ফাংশন ডিক্রিপ্ট(টেক্সট) {let iv =Buffer.from(text.iv, 'hex');let encryptedText =Buffer.from(text.encryptedData, 'hex');// অ্যালগো, কী এবং আইভলেট ডিসিফার =crypto.createDecipheriv('aes-256-cbc', Buffer.from(key), iv) থেকে পাঠোদ্ধার তৈরি করা;// ডিক্রিপ্ট করা টেক্সলেট আপডেট করা হচ্ছে ডিক্রিপ্টেড =decipher.update(এনক্রিপ্টেড টেক্সট); decrypted =Buffer.concat([decrypted, decipher.final()]);// decryptionreturn decrypted.toString();}// নিচের ডেটা এনক্রিপ্ট করা এবং outputvar output =encrypt("TutorialsPoint-এ স্বাগতম!" );console.log("এনক্রিপ্ট করা ডেটা -- ", আউটপুট);//প্রিন্টিং ডিক্রিপ্ট করা dataconsole.log("ডিক্রিপ্ট করা ডেটা -- ", ডিক্রিপ্ট(আউটপুট));

আউটপুট

 C:\ HOME \ নোড>> {IV:'3FB2C84290E04D9BFB099BC65A04D9BFB099BC65A7AC941' 
  1. Node.js-এ crypto.publicDecrypt() পদ্ধতি

  2. Node.js-এ crypto.privateEncrypt() পদ্ধতি

  3. Node.js-এ crypto.privateDecrypt() পদ্ধতি

  4. Node.js-এ crypto.getHashes() পদ্ধতি