কম্পিউটার

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


crypto.createDiffieHellmanGroup() একটি পূর্ব-নির্ধারিত DiffieHellmanGroup কী বিনিময় বস্তু তৈরি করতে ব্যবহৃত হয়। কিছু সমর্থিত DiffieHellmanGroups হল:modp1, modp2, modp5, modp 14, modp16, modp17 ইত্যাদি। এই পদ্ধতিটি ব্যবহার করার সুবিধা হল যে দলগুলিকে একটি গ্রুপ মডুলাস তৈরি বা বিনিময় করতে হবে না এইভাবে প্রক্রিয়াকরণের সময় বাঁচাতে হবে।

সিনট্যাক্স

crypto.getDiffieHelmmanGroup(groupName)

পরামিতি

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

হিসাবে বর্ণনা করা হয়েছে
  • গোষ্ঠীর নাম - এটি গ্রুপের নামের জন্য ইনপুট নেয়। ইনপুটটি 'স্ট্রিং' টাইপের।

উদাহরণ

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

নোড getDiffieHellman.js

getdiffieHellman.js

// crypto.getDiffieHellman() ডেমো উদাহরণ// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো =প্রয়োজন('ক্রিপ্টো'); কনস্ট সার্ভার =crypto.getDiffieHellman('modp1');const ক্লায়েন্ট =crypto.getDiffieHellman'(') আমদানি করা;// মুদ্রণ DiffieHellman valuesconsole.log(সার্ভার);console.log(ক্লায়েন্ট);// পাবলিক এবং প্রাইভেট কী সার্ভার তৈরি করা হচ্ছে। getPublicKey(), null, 'hex');const clientSecret =client.computeSecret(server.getPublicKey(), null, 'hex');/* aliceSecret এবং bobSecret একই হতে হবে */console.log(serverSecret ===ক্লায়েন্ট সিক্রেট);

আউটপুট

C:\home\node>> node getDiffieHellman.jsDiffieHellmanGroup { _handle:{ verifyError:[Getter] }, verifyError:0 }DiffieHellmanGroup { _handle:{ verifyError:[Getter] Erre, 

0}>

উদাহরণ

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

// crypto.getDiffieHellman() ডেমো উদাহরণ// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো =প্রয়োজন('crypto');const dh1 =crypto.getDiffieHellman('modp17');const dh2 =crypto.getDiffieHellman'(modulih'4);// পাবলিক এবং প্রাইভেট কী তৈরি করা হচ্ছে; dh1.getPublicKey(), null, 'hex');/* aliceSecret এবং bobSecret একই হওয়া উচিত */console.log(dh1Key ===dh2Key);

আউটপুট

C:\home\node>> node getDiffieHellman.jsinternal/crypto/diffiehellman.js:102const ret =this._handle.computeSecret(toBuf(key, inEnc)); ^ত্রুটি:সরবরাহ করা কী DiffieHellmanGroup.dhComputeSecret [computeSecret হিসাবে](internal/crypto/diffiehellman.js:102:28) অবজেক্টে খুব বড়। (/home/node/test/getDiffieHellman:150 ) এ Module._compile (internal/modules/cjs/loader.js:778:30) এ Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) Module.load এ (অভ্যন্তরীণ) /modules/cjs/loader.js:653:32) এ tryModuleLoad (internal/modules/cjs/loader.js:593:12) Function.Module._load এ (internal/modules/cjs/loader.js:585:3) ) এ Function.Module.runMain (internal/modules/cjs/loader.js:831:12) স্টার্টআপে (internal/bootstrap/node.js:283:19) bootstrapNodeJSCore এ (internal/bootstrap/node.js:623:3)

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

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

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

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