Bcrypt হ্যাশ জেনারেটর ও ভেরিফায়ার
নির্বাচিত কস্ট ফ্যাক্টরে সাধারণ টেক্সট থেকে একটি bcrypt পাসওয়ার্ড হ্যাশ তৈরি করুন, কিংবা একটি বিদ্যমান bcrypt হ্যাশের বিপরীতে একটি পাসওয়ার্ড যাচাই করুন—সম্পূর্ণ আপনার ব্রাউজারে।
Bcrypt হ্যাশ জেনারেটর ও ভেরিফায়ার — একটি সাধারণ-টেক্সট পাসওয়ার্ডকে সল্টযুক্ত bcrypt হ্যাশে রূপান্তর করতে, অথবা কোনো পাসওয়ার্ড বিদ্যমান হ্যাশের সাথে মেলে কিনা তা যাচাই করতে হ্যাশ ও ভেরিফাইয়ের মধ্যে স্যুইচ করুন। হ্যাশ কতটা ধীর ও ব্রুট-ফোর্স-প্রতিরোধী হবে তা নিয়ন্ত্রণ করতে একটি কস্ট ফ্যাক্টর বেছে নিন, এবং টুলকে প্রতিটি হ্যাশের জন্য একটি নতুন এলোমেলো সল্ট তৈরি করতে দিন। সবকিছু bcrypt-এর একটি WebAssembly বিল্ডের মাধ্যমে স্থানীয়ভাবে চলে, তাই পাসওয়ার্ড ও হ্যাশ কখনও আপনার ব্রাউজার ছাড়ে না।
Bcrypt হ্যাশ জেনারেটর ও ভেরিফায়ার কী?
Bcrypt হ্যাশ জেনারেটর ও ভেরিফায়ার হলো bcrypt পাসওয়ার্ড-হ্যাশিং ফাংশনের জন্য একটি বিনামূল্যের ইন-ব্রাউজার টুল—সেই একই অ্যালগরিদম যা অগণিত ওয়েব ফ্রেমওয়ার্ক পাসওয়ার্ড নিরাপদে সংরক্ষণ করতে ব্যবহার করে। ব্যাকএন্ড ডেভেলপার, সিকিউরিটি ইঞ্জিনিয়ার এবং প্রমাণীকরণ সম্পর্কে শিখছেন এমন ব্যক্তিরা এটি ব্যবহার করেন একটি ডেটাবেস ভরাট করার জন্য একটি নমুনা $2b$ হ্যাশ তৈরি করতে, একটি সংরক্ষিত হ্যাশ সত্যিই কোনো পরিচিত পাসওয়ার্ডের সাথে মেলে কিনা নিশ্চিত করতে, কিংবা কস্ট ফ্যাক্টর কীভাবে প্রয়োজনীয় কাজ পরিবর্তন করে তা দেখতে। হ্যাশ মোডে আপনি একটি পাসওয়ার্ড ও একটি কস্ট ফ্যাক্টর (4-31) লেখেন; আপনার জন্য একটি এলোমেলো 16-বাইট সল্ট তৈরি হয় এবং ফলাফল হলো প্রমিত এনকোডেড bcrypt স্ট্রিং যা অ্যালগরিদম সংস্করণ, কস্ট, সল্ট ও ডাইজেস্ট একসাথে বহন করে। ভেরিফাই মোডে আপনি একটি পাসওয়ার্ড ও একটি বিদ্যমান bcrypt হ্যাশ পেস্ট করেন, ভেরিফাই চাপেন, এবং টুল আপনাকে জানায় সেগুলো মেলে কিনা। যেহেতু bcrypt ইচ্ছাকৃতভাবে ধীর, উচ্চ কস্ট ফ্যাক্টর গণনা করতে লক্ষণীয় কিছুটা সময় নিতে পারে।
Bcrypt হ্যাশ জেনারেটর ও ভেরিফায়ার কীভাবে ব্যবহার করবেন
- নতুন হ্যাশ তৈরি করতে হ্যাশ বেছে নিন, অথবা বিদ্যমান হ্যাশের বিপরীতে পাসওয়ার্ড যাচাই করতে ভেরিফাই বেছে নিন।
- হ্যাশ মোডে, যে সাধারণ-টেক্সট পাসওয়ার্ডটি সুরক্ষিত করতে চান তা টাইপ বা পেস্ট করুন।
- কস্ট ফ্যাক্টর সেট করুন (10 একটি সাধারণ ডিফল্ট; যত বেশি তত ধীর ও শক্তিশালী)।
- হ্যাশ তৈরি করুন চাপুন এবং ফলস্বরূপ bcrypt স্ট্রিংটি দেখা মাত্রই কপি করুন।
- ভেরিফাই মোডে, পাসওয়ার্ড লিখুন ও bcrypt হ্যাশ পেস্ট করুন, তারপর মেলে নাকি মেলে না দেখতে ভেরিফাই চাপুন।
উদাহরণ
ডিফল্ট কস্টে একটি পাসওয়ার্ড হ্যাশ করা
ইনপুট
পাসওয়ার্ড: correct horse battery staple, কস্ট: 10
আউটপুট
$2b$10$... (একটি 60-অক্ষরের bcrypt হ্যাশ; সল্ট এলোমেলো তাই প্রতিবার আলাদা হয়)
একটি সংরক্ষিত হ্যাশের বিপরীতে পাসওয়ার্ড যাচাই করা
ইনপুট
পাসওয়ার্ড: hunter2, হ্যাশ: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
আউটপুট
মেলে
ভুল পাসওয়ার্ড যাচাইয়ে ব্যর্থ হয়
ইনপুট
পাসওয়ার্ড: wrongpass, হ্যাশ: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
আউটপুট
মেলে না
সচরাচর জিজ্ঞাসিত প্রশ্ন
- আমার পাসওয়ার্ড বা হ্যাশ কি কোথাও পাঠানো হয়?
- না। হ্যাশিং ও যাচাই সম্পূর্ণভাবে আপনার ব্রাউজারে bcrypt-এর একটি WebAssembly বিল্ড ব্যবহার করে চলে। আপনি যা টাইপ করেন তার কিছুই কোনো সার্ভারে আপলোড বা সংরক্ষণ করা হয় না, তাই টুলটি অফলাইনে কাজ করতে থাকে এবং আপনার পাসওয়ার্ড কখনও পেজ ছাড়ে না।
- আমার কোন কস্ট ফ্যাক্টর ব্যবহার করা উচিত?
- কস্ট ফ্যাক্টর নির্ধারণ করে bcrypt কতগুলো রাউন্ড সম্পাদন করে; প্রতিটি বৃদ্ধি কাজ মোটামুটি দ্বিগুণ করে। ওয়েব অ্যাপের জন্য 10-12 মান সাধারণ। উচ্চতর মান ব্রুট ফোর্স আরও ভালোভাবে প্রতিরোধ করে কিন্তু গণনায় বেশি সময় নেয়, তাই খুব উচ্চ সংখ্যা ব্রাউজারকে এক মুহূর্তের জন্য জমিয়ে দিতে পারে।
- একই পাসওয়ার্ডের জন্য হ্যাশ প্রতিবার বদলায় কেন?
- প্রতিটি হ্যাশের জন্য একটি নতুন এলোমেলো 16-বাইট সল্ট তৈরি হয়, এবং সল্টটি ফলাফলে এমবেড থাকে। ভিন্ন সল্ট একই পাসওয়ার্ডের জন্য ভিন্ন হ্যাশ তৈরি করে, এবং ঠিক এটিই bcrypt-কে নিরাপদ করে। যাচাই তবুও সফল হয় কারণ সল্ট সংরক্ষিত হ্যাশ থেকে আবার পড়া হয়।
- যাচাই আমার হ্যাশকে অবৈধ বলল কেন?
- ভেরিফাই প্রমিত এনকোডেড রূপে একটি সম্পূর্ণ bcrypt হ্যাশ প্রত্যাশা করে, যা সাধারণত $2a$, $2b$ বা $2y$ দিয়ে শুরু হয়, এরপর কস্ট ও 53-অক্ষরের সল্ট-প্লাস-ডাইজেস্ট থাকে। স্ট্রিংয়ের কোনো অংশ অনুপস্থিত বা পরিবর্তিত হলে টুল সল্ট পড়তে পারে না এবং একটি ত্রুটি জানায়।
- আমি কি এই হ্যাশ সরাসরি আমার অ্যাপ্লিকেশনে ব্যবহার করতে পারি?
- হ্যাঁ। আউটপুট একটি প্রমিত এনকোডেড bcrypt স্ট্রিং যা সাধারণ bcrypt লাইব্রেরির সাথে সামঞ্জস্যপূর্ণ, তাই আপনি এটি সংরক্ষণ করে আপনার সার্ভারে এর বিপরীতে যাচাই করতে পারেন। বাস্তব সিস্টেমের জন্য, হ্যাশটি অন্য টুলের মাধ্যমে কপি করার বদলে যেখানে পাসওয়ার্ড লেখা হয় সেখানেই তৈরি করুন।
সম্পর্কিত টুল
AES টেক্সট এনক্রিপশন (AES-GCM + PBKDF2)
একটি পাসফ্রেজ থেকে উদ্ভূত কী (PBKDF2 SHA-256, এলোমেলো সল্ট) দিয়ে AES-256-GCM ব্যবহার করে টেক্সট এনক্রিপ্ট ও ডিক্রিপ্ট করুন, সম্পূর্ণরূপে আপনার ব্রাউজারে এবং কোনো আপলোড ছাড়াই।
Argon2 ও scrypt হ্যাশ
Argon2id বা scrypt দিয়ে একটি পাসওয়ার্ড হ্যাশ করুন এবং একটি Argon2 হ্যাশ পাসওয়ার্ডের সঙ্গে মিলছে কি না যাচাই করুন, সম্পূর্ণভাবে আপনার ব্রাউজারে।
BIP39 নিমোনিক জেনারেটর
একাধিক ভাষায় 12 থেকে 24 শব্দের একটি এলোমেলো BIP39 রিকভারি বাক্যাংশ তৈরি করুন, অথবা একটি বিদ্যমান নিমোনিককে আবার তার কাঁচা এনট্রপিতে রূপান্তর করুন, সম্পূর্ণভাবে আপনার ব্রাউজারে।
CSR ও স্ব-স্বাক্ষরিত সার্টিফিকেট জেনারেটর
আপনার ব্রাউজারেই RSA বা ECDSA প্রাইভেট কী-এর সঙ্গে একটি সার্টিফিকেট সাইনিং রিকোয়েস্ট (CSR) বা স্ব-স্বাক্ষরিত X.509 সার্টিফিকেট তৈরি করুন।