হ্যাশ জেনারেটর
টেক্সট পেস্ট করুন এবং একসাথে পাঁচটি ডাইজেস্ট পান — কোনো বোতাম নেই, কোনো আপলোড নেই।
ডাইজেস্ট
- MD5
- SHA-1
- SHA-256
- SHA-384
- SHA-512
কীভাবে ব্যবহার করবেন
- টেক্সট টাইপ বা পেস্ট করুন, পাঁচটি ডাইজেস্ট একসাথে দেখায় — কোনো বোতাম চাপতে হয় না।
- প্রতিটি সারির বোতাম দিয়ে ডাইজেস্ট কপি করুন, অথবা পাঁচটিই .txt ফাইল হিসেবে ডাউনলোড করুন। কপি করলে লেবেল ছাড়া শুধু হেক্স স্ট্রিং পাওয়া যায়।
- যে সিস্টেমের সঙ্গে মিলাচ্ছেন সেটি ডাইজেস্ট বড় হাতের অক্ষরে ছাপলে Uppercase hex চালু করুন। এটি বদলালে আপনি যা টাইপ করেছেন তা মুছে যায় না।
- সবকিছু আপনার ব্রাউজারে চলে: কিছুই আপলোড, সংরক্ষণ বা অ্যাড্রেস বারে লেখা হয় না।
উদাহরণ
টেক্সট
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-এ লেখা বা শেয়ার হয় না: শেয়ার বোতাম কেবল এই পেজের ঠিকানা শেয়ার করে।
সম্পর্কিত টুল
ডাইজেস্ট সাধারণত এগুলোর সঙ্গে দেখতে পাওয়া যায়।