crypto.pbkdf2(), যা পাসওয়ার্ড-ভিত্তিক কী ডেরিভেশন ফাংশন নামেও পরিচিত, ডেরিভেটিভ ফাংশনের একটি অ্যাসিঙ্ক্রোনাস বাস্তবায়ন প্রদান করে। পাসওয়ার্ড, লবণ এবং পুনরাবৃত্তি থেকে একটি নির্দিষ্ট অ্যালগরিদমের Hmac ডাইজেস্ট ব্যবহার করে একটি কী উদ্ভূত হয়
সিনট্যাক্স
crypto.createHmac(অ্যালগরিদম, কী, [বিকল্প])
পরামিতি
উপরের পরামিতিগুলি নীচে −
হিসাবে বর্ণনা করা হয়েছে-
পাসওয়ার্ড - অনুরোধ করা বাইট দৈর্ঘ্যের কী পাওয়ার জন্য পাসওয়ার্ড সংজ্ঞায়িত করা হয়েছে। সম্ভাব্য মানগুলি হল স্ট্রিং, ডেটাভিউ, বাফার, ইত্যাদি।
-
লবণ - কী পাওয়ার জন্য পাসওয়ার্ডের অনুরূপ। সম্ভাব্য মানগুলি হল স্ট্রিং, ডেটাভিউ, বাফার, ইত্যাদি।
-
পুনরাবৃত্তি - অনুরোধ করা বাইট দৈর্ঘ্যের পছন্দসই কী পাচ্ছেন। এটি সংখ্যা হিসাবে মান গ্রহণ করে।
-
কিলেন - এটি কীটির অনুরোধকৃত বাইট দৈর্ঘ্য। এটি টাইপ নম্বর।
-
ডাইজেস্ট - Hmac অ্যালগরিদম এই ডাইজেস্ট মান দ্বারা নির্দিষ্ট করা হয়। ডিফল্ট মান হল 'sha1'
-
কলব্যাক – অ্যাসিঙ্ক মোডে কোনো ত্রুটি দেখা দিলে, এটি কলব্যাকে পরিচালনা করা হবে
উদাহরণ
নাম দিয়ে একটি ফাইল তৈরি করুন – pbkdf2.js এবং নীচের কোড স্নিপেটটি অনুলিপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −
নোড pbkdf2.js
pbkdf2.js
// crypto.pbkdf2() ডেমো উদাহরণ// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো আমদানি করা =প্রয়োজন('ক্রিপ্টো');// নিম্নলিখিত বিকল্পগুলির সাথে pbkdf2 সংজ্ঞায়িত করা scrypto.pbkdf2('গোপন', 'লবণ', 100000, 64 , 'sha512', (err, derivedKey) => { যদি (err) err নিক্ষেপ করে; // derived key console.log("কী প্রাপ্ত:",derivedKey.toString('hex'));});প্রে>আউটপুট
C:\ HOME \ নোড>> NODE PBKDF2.JSKEY DESERED:3745E482C6E0DADE35DA0139E79DAD7D5DA88EF87E47471CK47ED941C7AD618E827304F083F8707F12B7CFDD5F489B782F10CCC269E3C08D5CKEEউদাহরণ
আসুন আরও একটি উদাহরণ দেখি।
// crypto.pbkdf2() ডেমো উদাহরণ// ক্রিপ্টো মডিউলকনস্ট ক্রিপ্টো আমদানি করা =প্রয়োজন('ক্রিপ্টো');// নিম্নলিখিত বিকল্পগুলির সাথে pbkdf2 সংজ্ঞায়িত করা scrypto.pbkdf2('গোপন', 'লবণ', 100, 64 , 'sha1', (err, derivedKey) => { if (err) নিক্ষেপ ত্রুটি; // derived key console.log("কী প্রাপ্ত:",derivedKey); console.log("হেক্সে প্রাপ্ত কী:" ,derivedKey.toString('hex')); console.log("বেস64-এ প্রাপ্ত কী:",derivedKey.toString('base64'));});আউটপুট
C:\home\node>> node pbkdf2.jsKey প্রাপ্ত:কী হেক্স মধ্যে উদ্ভূত:b73635f7c0882e1fc3ba6e29b14af1274df84828b4d18fcc222eb574455f505d3d2319132d84e191a783e200734e374a24b62cfab65dfb5e9dc28ae147072419Key করুন Base64- মধ্যে উদ্ভূত:tzY198CILh / Dum4psUrxJ034SCi00Y / MIi61dEVfUF09IxkTLYThkaeD4gBzTjdKJLYs + + rZd + + 16dworhRwckGQ ==