হ্যাশ জেনারেটর

টেক্সট পেস্ট করুন এবং একসাথে পাঁচটি ডাইজেস্ট পান — কোনো বোতাম নেই, কোনো আপলোড নেই।

কীভাবে ব্যবহার করবেন

  1. টেক্সট টাইপ বা পেস্ট করুন, পাঁচটি ডাইজেস্ট একসাথে দেখায় — কোনো বোতাম চাপতে হয় না।
  2. প্রতিটি সারির বোতাম দিয়ে ডাইজেস্ট কপি করুন, অথবা পাঁচটিই .txt ফাইল হিসেবে ডাউনলোড করুন। কপি করলে লেবেল ছাড়া শুধু হেক্স স্ট্রিং পাওয়া যায়।
  3. যে সিস্টেমের সঙ্গে মিলাচ্ছেন সেটি ডাইজেস্ট বড় হাতের অক্ষরে ছাপলে Uppercase hex চালু করুন। এটি বদলালে আপনি যা টাইপ করেছেন তা মুছে যায় না।
  4. সবকিছু আপনার ব্রাউজারে চলে: কিছুই আপলোড, সংরক্ষণ বা অ্যাড্রেস বারে লেখা হয় না।

উদাহরণ

টেক্সট

hello world

ডাইজেস্ট

MD5:     5eb63bbbe01eeed093cb22bb8f5acdc3
SHA-1:   2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f

এগারোটি অক্ষর এগারোটি UTF-8 বাইট হিসেবে হ্যাশ হয়েছে। "你好,世界" 5 অক্ষর কিন্তু 15 বাইট — ফলাফলের উপরের বাইট সংখ্যাটিই আসলে হ্যাশ করা হয়েছে।

নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা

  • MD5 ও SHA-1 ভাঙা এবং নিরাপত্তা-সম্পর্কিত কোনো কাজে ব্যবহার করা যাবে না: চাহিদামতো কোলিশন তৈরি করা যায়। এগুলো এখানে কেবল বিরোধহীন অখণ্ডতা যাচাইয়ের জন্য — যেমন আপনার টেক্সট কোথাও প্রকাশিত মানের সঙ্গে মেলে কি না নিশ্চিত করা।
  • পাসওয়ার্ড সংরক্ষণে এই ডাইজেস্ট ব্যবহার করবেন না। কোনো সল্ট, কী ডিরিভেশন বা ওয়ার্ক ফ্যাক্টর নেই। পাসওয়ার্ড সংরক্ষণে bcrypt, scrypt, Argon2 বা PBKDF2 দরকার।
  • কেবল টেক্সট। ফাইল হ্যাশ হয় না — ডাউনলোডের চেকসাম দরকার হলে নিজের মেশিনে sha256sum বা shasum ব্যবহার করুন।
  • ইনপুট সবসময় UTF-8 বাইট হিসেবে এনকোড হয়। UTF-16, Hex বা Base64 ইনপুট মোড নেই, আর কাঁচা বাইট হ্যাশ করার উপায়ও নেই।
  • হ্যাশ করার আগে ইনপুটে কিছুই বদলানো হয় না: কোনো ট্রিম নয়, ইউনিকোড স্বাভাবিকীকরণ নয়, কেস ফোল্ডিং নয়, অদৃশ্য অক্ষর সরানো নয়। আপনার ডাইজেস্ট অন্য সিস্টেমের সঙ্গে না মিললে টেক্সট প্রায় নিশ্চিতভাবে বাইট-অভিন্ন নয়।
  • ইউনিকোড স্বাভাবিকীকরণ গুরুত্বপূর্ণ: এক কোড পয়েন্ট হিসেবে লেখা "é" আর "e" প্লাস কম্বাইনিং অ্যাকসেন্ট হিসেবে লেখা "é" দুটি আলাদা বাইট ক্রম, তাই দুটি আলাদা ডাইজেস্ট দেয়। এটাই সঠিক আচরণ — নীরবে স্বাভাবিকীকরণ করলে পার্থক্যটা লুকিয়ে যেত।
  • পেছনের স্পেস ও শেষের লাইন ব্রেক ইনপুটের অংশ। `echo "abc" | sha256sum` "abc\n" হ্যাশ করে, তাই এখানে "abc"-এর ডাইজেস্টের সঙ্গে মেলে না; তুলনা করতে হলে নিজেই লাইন ব্রেক যোগ করুন।
  • হ্যাশ কেস-সংবেদনশীল ও একমুখী: "Hello" ও "hello" আলাদা, আর ডাইজেস্ট থেকে আসল টেক্সট ফিরিয়ে আনা যায় না।
  • সমর্থিত নয়: HMAC ও অন্যান্য কীযুক্ত ডাইজেস্ট, SHA-224, SHA-3, RIPEMD, Whirlpool, BLAKE, CRC32, সল্টযুক্ত KDF, ফাইল হ্যাশিং, এবং "প্রত্যাশিত ডাইজেস্ট পেস্ট করে মিলিয়ে দিন"। কীযুক্ত HMAC ডাইজেস্টের জন্য JWT টুল ব্যবহার করুন।
  • সর্বোচ্চ 100,000 অক্ষর; এর বেশি হলে কাটা ফলাফলের বদলে ত্রুটি দেখায়। কিছুই আপলোড, সংরক্ষণ, URL-এ লেখা বা শেয়ার হয় না: শেয়ার বোতাম কেবল এই পেজের ঠিকানা শেয়ার করে।

ডাইজেস্ট সাধারণত এগুলোর সঙ্গে দেখতে পাওয়া যায়।