Bcrypt পাসওয়ার্ড জেনারেটর
আপনার ব্রাউজারে তাৎক্ষণিকভাবে সুরক্ষিত bcrypt পাসওয়ার্ড হ্যাশ তৈরি করুন। কস্ট ফ্যাক্টর বেছে নিন এবং ক্লায়েন্ট-সাইডে হ্যাশ করুন — সম্পূর্ণ প্রাইভেট এবং বিনামূল্যে।
আপনার ব্রাউজারে তাৎক্ষণিকভাবে সুরক্ষিত bcrypt পাসওয়ার্ড হ্যাশ তৈরি করুন। কস্ট ফ্যাক্টর বেছে নিন এবং ক্লায়েন্ট-সাইডে হ্যাশ করুন — সম্পূর্ণ প্রাইভেট এবং বিনামূল্যে।
bcrypt হল একটি পাসওয়ার্ড-হ্যাশিং ফাংশন যা 1999 সালে নিলস প্রোভোস এবং ডেভিড মাজিয়েরেস দ্বারা ডিজাইন করা হয়েছিল, ব্লোফিশ সাইফার থেকে উদ্ভূত। SHA-256-এর মতো সাধারণ-উদ্দেশ্য হ্যাশ ফাংশনগুলির বিপরীতে, bcrypt ইচ্ছাকৃতভাবে ধীর - এবং কনফিগারযোগ্যভাবে ধীর, একটি খরচ প্যারামিটারের মাধ্যমে - যা একটি পাসওয়ার্ড হ্যাশারের প্রয়োজন ঠিক সেই সম্পত্তি। একটি দ্রুততর হ্যাশ ফাংশন আক্রমণকারীদের প্রতি সেকেন্ডে আরও বেশি প্রার্থীকে জবরদস্তি করতে দেয়; একটি ধীর এক তাদের সীমাবদ্ধ.
bcrypt স্বয়ংক্রিয়ভাবে প্রতি-পাসওয়ার্ড লবণকে অন্তর্ভুক্ত করে, পূর্বনির্ধারিত রেইনবো টেবিলের উপর ভিত্তি করে আক্রমণের একটি সম্পূর্ণ শ্রেণীকে নির্মূল করে। লবণ এবং খরচ পরামিতি bcrypt আউটপুটের অংশ হিসাবে সংরক্ষণ করা হয়, তাই যাচাইকরণের জন্য শুধুমাত্র সংরক্ষিত হ্যাশ এবং প্রার্থীর পাসওয়ার্ড প্রয়োজন - আলাদা লবণ ব্যবস্থাপনা নেই। মন্থরতা, লবণ, এবং স্বয়ংসম্পূর্ণ বিন্যাসের এই সংমিশ্রণটি বিক্রিপ্টকে দুই দশক ধরে ডিফল্ট পাসওয়ার্ড হ্যাশ এবং আজকে একটি শক্তিশালী পছন্দ করেছে।
আধুনিক বিকল্প বিদ্যমান। Argon2 2015 পাসওয়ার্ড হ্যাশিং প্রতিযোগিতা জিতেছে এবং সময়-কঠোরতা ছাড়াও মেমরি-হার্ডনেস অফার করে। স্ক্রিপ্ট অনুরূপ বৈশিষ্ট্য অফার করে। নতুন ডিজাইনের জন্য, Argon2id হল প্রস্তাবিত পছন্দ। bcrypt গ্রহণযোগ্য এবং ব্যাপকভাবে স্থাপন করা হয়, বিশেষ করে এমন পরিবেশে যেখানে Argon2 উপলব্ধ নয়।
প্লেইনটেক্সট হিসাবে পাসওয়ার্ড সংরক্ষণ করা অসৎ আচরণ। এগুলিকে SHA-256-এর মতো দ্রুত হ্যাশের সাথে সংরক্ষণ করা আরও ভাল - আধুনিক GPU গুলি প্রতি সেকেন্ডে বিলিয়ন SHA-256 হ্যাশ গণনা করে, যে কোনও সাধারণ পাসওয়ার্ডের বিরুদ্ধে কয়েক ঘণ্টার মধ্যে ব্রুট-ফোর্স অ্যাটাক তৈরি করে৷ bcrypt-এর ইচ্ছাকৃত ধীরগতি অর্থনীতিকে বদলে দেয়: খরচ ফ্যাক্টর 12-এ, একজন আক্রমণকারী প্রার্থীর পাসওয়ার্ড প্রতি প্রায় 250 ms খরচ করে, যে কোনো অ-তুচ্ছ পাসওয়ার্ডের জন্য ব্রুট-ফোর্স অব্যবহারিক করে তোলে।
bcrypt-এর স্বয়ংক্রিয় প্রতি-পাসওয়ার্ড লবণও রেইনবো টেবিল আক্রমণকে পরাস্ত করে। একই পাসওয়ার্ডের সাথে দুইজন ব্যবহারকারী বিভিন্ন বিক্রিপ্ট হ্যাশ তৈরি করে কারণ তাদের লবণ ভিন্ন। পাসওয়ার্ড ডাটাবেসের সাথে আপোস করা আক্রমণকারীকে দ্রুত সাধারণ পাসওয়ার্ড বা প্রি-কম্পিউটেড-টেবিল হিট সনাক্ত করতে দেয় না।
একটি পাসওয়ার্ড টাইপ করুন, খরচ চয়ন করুন, হ্যাশ পান।
bcrypt একটি পরিবর্তিত ব্লোফিশ সাইফারের কী-সেটআপ ফেজ ব্যবহার করে, 2^কস্ট বার পুনরাবৃত্তি করে। খরচের ফ্যাক্টরটি লগারিদমিক — খরচ 12 খরচ 11-এর চেয়ে দ্বিগুণ, খরচ 10-এর থেকে চারগুণ ধীর। এই লগারিদমিক স্কেলিং প্রশাসকদের সিস্টেমকে পুনরায় ডিজাইন না করেই হার্ডওয়্যারের উন্নতির সাথে সাথে সময়ের সাথে সাথে খরচ বাড়াতে দেয়।
আউটপুট ফর্ম্যাট হল $version$cost$saltAndHash যেখানে saltAndHash একটি কাস্টম বর্ণমালার সাথে বেস64-এনকোড করা হয়েছে। সংস্করণটি সাধারণত $2b$ (আধুনিক বৈকল্পিক যা wraparound বাগ সংশোধন করা হয়েছে) অথবা $2y$ (PHP-নির্দিষ্ট, সমতুল্য)। লবণ 16 বাইট; হ্যাশ হল 24 বাইট; তারা একসাথে কাস্টম-বেস64-এর 53টি অক্ষরে এনকোড করে।
সর্বাধিক ইনপুট দৈর্ঘ্য 72 বাইট (ব্লোফিশ কী দৈর্ঘ্য সীমা)। দীর্ঘতর পাসওয়ার্ডগুলি নিঃশব্দে কেটে ফেলা হয়, যা একটি দীর্ঘস্থায়ী বিক্রিপ্ট ব্যঙ্গ। সর্বোত্তম অভ্যাস হল পাসওয়ার্ডের দৈর্ঘ্য 72 বাইটে সীমিত করা বা বিক্রিপ্টের আগে দৈর্ঘ্য স্বাভাবিক করার জন্য SHA-256 দিয়ে প্রি-হ্যাশ করা।