মূল অংশে যান

হ্যাশ তৈরি করুন

MD5, SHA-1, SHA-256, SHA-384 ও SHA-512 — টেক্সট বা যেকোনো সাইজের ফাইলের জন্য। ডাউনলোড করা ফাইল তার প্রকাশিত চেকসামের সঙ্গে মেলে কি না যাচাই করতে কাজে লাগে। কিছুই সংরক্ষণ করা হয় না।

  • কখনো সংরক্ষণ করা হয় না
  • কোনো লাইন নেই, অপেক্ষা নেই
  • সাইনআপ নেই, ওয়াটারমার্ক নেই

টেক্সট UTF-8 হিসেবে হ্যাশ করা হয়। কোনো ডাউনলোড যাচাই করতে চাইলে ফাইলটি ছাড়ুন।

যেভাবে কাজ করে

1

টেক্সট পেস্ট করুন বা ফাইল ছাড়ুন

টেক্সট UTF-8 হিসেবে হ্যাশ হয়। ফাইল এখানেই পড়া ও হ্যাশ করা হয়; এটি কখনো সংরক্ষণ করা হয় না।

2

সব হ্যাশ একসাথে দেখুন

পাঁচটি অ্যালগরিদমই একসাথে হিসাব করা হয়, তাই কোনটি দরকার তা আগে থেকে জানতে হয় না।

3

প্রত্যাশিত মানের সঙ্গে মেলান

আপনাকে দেওয়া চেকসামটি পেস্ট করুন, মিলিয়ে দেখা হবে আপনার হয়েই — চোখে অক্ষর ধরে ধরে মেলাতে গেলেই ভুল হয়।

একটি হ্যাশ কী প্রমাণ করে, আর কী করে না

হ্যাশ হলো যেকোনো পরিমাণ ডেটার একটি নির্দিষ্ট দৈর্ঘ্যের আঙুলের ছাপ, আর এর দুটি বৈশিষ্ট্য ঠিকভাবে বলে রাখা দরকার। এটি একমুখী — হ্যাশকে আবার ডেটায় ফেরানোর কোনো উপায় নেই, কারণ প্রায় সব তথ্যই হারিয়ে গেছে। আর এটি সংবেদনশীল: ইনপুটের একটি বিট বদলালে আউটপুটের প্রায় অর্ধেক বিট বদলে যায়। এ কারণেই এটি দিয়ে নিশ্চিত হওয়া যায় যে একটি ফাইল অক্ষত অবস্থায় ডাউনলোড হয়েছে, বা বাইট ধরে ধরে না মিলিয়েও দুটি ফাইল একই কি না।

MD5 ও SHA-1 ভাঙা, তবু একটি কারণে এখানে আছে। দুটিরই বাস্তবসম্মত কলিশন অ্যাটাক আছে — MD5-এর ২০০৪ সাল থেকে, আর SHA-1-এর ক্ষেত্রে ২০১৭ সালে সত্যিকারের এক জোড়া PDF দিয়ে তা দেখানো হয়েছে — অর্থাৎ কেউ একই হ্যাশের দুটি আলাদা ফাইল বানাতে পারে। তাই প্রতিপক্ষের বিরুদ্ধে এর কোনোটিই কিছু প্রমাণ করে না। তবে দুর্ঘটনাজনিত ক্ষতি ধরতে দুটিই এখনো পুরোপুরি ভালো, আর বাস্তবের অনেক সফটওয়্যার এখনো MD5 চেকসাম প্রকাশ করে, তাই ডাউনলোডের সঙ্গে একটি মিলিয়ে দেখা একটি ন্যায্য প্রয়োজন। যেখানে কেউ আপনাকে ধোঁকা দেওয়ার চেষ্টা করতে পারে, সেখানে SHA-256 ব্যবহার করুন।

এর কোনোটি দিয়েই কখনো পাসওয়ার্ড হ্যাশ করবেন না। এই পেজের সবচেয়ে গুরুত্বপূর্ণ কথা এটাই। হ্যাশ বানানো হয় দ্রুত হওয়ার জন্য, আর পাসওয়ার্ডের জন্য দ্রুত হওয়াটাই ভুল: একটি আধুনিক গ্রাফিক্স কার্ড প্রতি সেকেন্ডে শত কোটি SHA-256 হ্যাশ হিসাব করে, তাই হ্যাশ করা পাসওয়ার্ডের চুরি হওয়া ডেটাবেস কয়েক ঘণ্টায় ভেঙে ফেলা যায়। পাসওয়ার্ড সংরক্ষণে দরকার প্রতি ইউজারের আলাদা সল্টসহ একটি ইচ্ছাকৃতভাবে ধীর ফাংশন — argon2, bcrypt বা scrypt — যেগুলো ইচ্ছা করেই সময় আর মেমরি খরচ করানোর জন্য বানানো। একটি পাসওয়ার্ডের সাধারণ SHA-256 সুরক্ষা নয়, একটি দুর্বলতা — ডেটাবেসের কলামে দেখতে যেমনই লাগুক।

আপনার হিসাব করা হ্যাশ যদি সেই একই পেজে প্রকাশিত হ্যাশের সঙ্গে মেলান যেখান থেকে ডাউনলোড করেছেন, তাহলে তা যতটা মনে হয় তার চেয়ে কম প্রমাণ করে: যে ফাইলটি বদলে দিতে পারে, সে পাশের নম্বরটিও বদলে দিতে পারে। চেকসাম সবচেয়ে মূল্যবান যখন তা অন্য কোথাও থেকে আসে — একটি সাইন করা রিলিজ, একটি আলাদা মাধ্যম, বা আগে আপনার নিজের লিখে রাখা একটি মান।

অন্য কিছু দরকার হলে

কমান্ড লাইনে এটা এক শব্দের কাজ: macOS ও Linux-এ shasum -a 256 file, Windows-এ certutil -hashfile file SHA256, আর যেখানে পুরোনো চেকসাম প্রকাশিত, সেখানে md5sum বা sha1sum। এগুলো ফাইল লোড না করে স্ট্রিম করে, তাই কোনো সাইজের সীমা নেই — কয়েকশো মেগাবাইটের বেশি যেকোনো ফাইলের জন্য এটাই আসল পার্থক্য, যেখানে পুরো ফাইল মেমরিতে রাখা একটি পেজ সোজা ব্যর্থ হবে।

একটি রিলিজ শুধু অক্ষত নয়, আসল কি না তা যাচাই করতে হ্যাশ একা ভুল টুল। GPG সিগনেচার — gpg --verify file.sig file — প্রমাণ করে ফাইলটি কে বানিয়েছে, আর চেকসাম এই প্রশ্নের উত্তর দিতে পারে না। বেশিরভাগ নির্ভরযোগ্য প্রজেক্ট দুটিই প্রকাশ করে, আর গুরুত্বপূর্ণ হলো সিগনেচারটি।

সাধারণ প্রশ্নোত্তর

আমার ফাইল কি কোথাও সংরক্ষণ করা হয়?

না। ফাইলটি হ্যাশ করা হয় সেই একই বিল্ট-ইন ক্রিপ্টোগ্রাফি দিয়ে, যা HTTPS সামলায়। কিছুই সংরক্ষণ করা হয় না, তাই কোনো সাইজের সীমা নেই, সংযোগের জন্য অপেক্ষাও নেই।

সাইজের কোনো সীমা আছে কি?

সীমা আপনার ডিভাইসের মেমরি, কোনো নির্দিষ্ট সাইজ নয়। ব্রাউজারের ক্রিপ্টোগ্রাফি ফাইলকে টুকরো টুকরো করে হ্যাশ করতে পারে না — পুরো ফাইল একবারে মেমরিতে লাগে — তাই খুব বড় ফাইল (ধরুন একটি DVD ইমেজ) এমন কম্পিউটারে ব্যর্থ হতে পারে যা তা ধরে রাখতে পারে না। সাধারণ কম্পিউটারে কয়েকশো মেগাবাইট পর্যন্ত ফাইল ঠিকঠাক চলে। বড় কোনো ফাইল ব্যর্থ হলে বুঝবেন সেই সীমাতেই পৌঁছেছেন, আর পেজ আটকে না থেকে তা জানিয়ে দেয়।

কোন হ্যাশ ব্যবহার করব?

নতুন যেকোনো কিছুর জন্য SHA-256। এটি আধুনিক ডিফল্ট, সফটওয়্যারের চেকসাম, কনটেইনার ডাইজেস্ট আর ব্লকচেইন সিস্টেম এটাই ব্যবহার করে, আর এর কোনো জানা দুর্বলতা নেই। MD5 বা SHA-1 ব্যবহার করুন শুধু তখন, যখন অন্য কিছু সেটা চায় — পুরোনো প্রকাশিত চেকসাম মেলানো, একটি লিগ্যাসি সিস্টেম, বা Git, যা অবজেক্ট চেনে SHA-1 দিয়ে। SHA-512 ব্যবহার করুন যখন বিশেষভাবে লম্বা ডাইজেস্ট চান; ৬৪-বিট কম্পিউটারে এটি প্রায়ই SHA-256-এর চেয়ে ধীর নয়, বরং দ্রুত।

এটি দিয়ে কি পাসওয়ার্ড হ্যাশ করা যায়?

করা যায়, কিন্তু ফলাফলটি সংরক্ষণ করা উচিত নয়। এই বিষয়ে এটাই সবচেয়ে প্রচলিত ভুল, তাই সরাসরি বলা ভালো: MD5, SHA-1 ও SHA-256 — সবই পাসওয়ার্ডের জন্য ভুল, আর SHA-256 ক্রিপ্টোগ্রাফিকভাবে শক্তিশালী হলেও তাতে লাভ নেই। সমস্যা হলো এই ফাংশনগুলো নকশাগতভাবেই দ্রুত — একটি আধুনিক গ্রাফিক্স কার্ড প্রতি সেকেন্ডে শত কোটি SHA-256 হ্যাশ হিসাব করে, তাই SHA-256 পাসওয়ার্ড হ্যাশের চুরি হওয়া ডেটাবেস বিপুল গতিতে ভাঙা যায়। পাসওয়ার্ডের জন্য দরকার এই কাজের জন্য বানানো একটি ইচ্ছাকৃতভাবে ধীর, সল্টযুক্ত ফাংশন: bcrypt, scrypt বা Argon2। প্রতিটি নির্ভরযোগ্য ফ্রেমওয়ার্কে এর একটি বিল্ট-ইন থাকে।

MD5-কে ভাঙা বলা হচ্ছে কেন?

কারণ এখন যে কেউ সাধারণ হার্ডওয়্যারে কয়েক সেকেন্ডে একই MD5 হ্যাশের দুটি আলাদা ফাইল বানাতে পারে। ২০০৪ সাল থেকে এটা সত্য, আর সত্যিকারের, কার্যকর পরিণতিসহ তা দেখানো হয়েছে — দুটি PDF যাতে দুটি আলাদা চুক্তি, দুটি এক্সিকিউটেবল যার একটি ম্যালওয়্যার। তাই MD5 প্রমাণ করতে পারে না যে ফাইলটি আপনার প্রত্যাশিত ফাইলই; ইচ্ছাকৃত জালিয়াতিও মিলে যেতে পারে। দুর্ঘটনাজনিত ক্ষতি ধরতে এটি এখনো পুরোপুরি যুক্তিসংগত, যেমন খারাপ ডাউনলোড বা অসম্পূর্ণ কপি, আর প্রকাশিত বেশিরভাগ MD5 চেকসাম আসলে এই কাজের জন্যই। নিরাপত্তার কাজে এটি কখনোই ব্যবহার করা চলবে না।

SHA-1-কে ভাঙা বলা হচ্ছে কেন?

একই কারণে, আরও সাম্প্রতিক সময়ে। ২০১৭ সালে Google ও CWI একই SHA-1 হ্যাশের দুটি আলাদা PDF বানিয়েছিল, আর ২০২০ সালের মধ্যে অ্যাটাকটি এতই সস্তা হয়ে যায় যে তা দিয়ে সিগনেচার জাল করা যেত। ব্রাউজারগুলো বহু বছর আগেই SHA-1 সার্টিফিকেট গ্রহণ করা বন্ধ করেছে, আর Git এটি থেকে সরে যাচ্ছে। আজ অ্যালগরিদম বাছাই করলে SHA-256 বেছে নিন।

ডাউনলোড করা ফাইল কীভাবে যাচাই করব?

ডাউনলোড করা ফাইলটি ছাড়ুন, তারপর যে সাইট থেকে পেয়েছেন সেখানকার চেকসামটি তুলনার বক্সে পেস্ট করুন। মিলে গেলে ফাইলটি অক্ষত অবস্থায় এসেছে আর এটি সেই প্রকাশিত ফাইলই। না মিললে মুছে আবার ডাউনলোড করুন। দুটি সতর্কতা: ফাইলটি যেখান থেকে পেয়েছেন সেখান থেকে নয়, অফিশিয়াল উৎস থেকে চেকসাম নিন, আর মনে রাখুন চেকসাম শুধু প্রমাণ করে যে ফাইলটি ওই পেজের প্রকাশিত ফাইলের সঙ্গে মেলে — পেজটিই আক্রান্ত হলে দুটোই মিলে যাবে।

হ্যাশগুলো কি সঠিকভাবে হিসাব করা হয়?

SHA-1, SHA-256, SHA-384 ও SHA-512 আসে ব্রাউজারের নিজস্ব Web Crypto ইমপ্লিমেন্টেশন থেকে, যে কোড HTTPS সামলায়। MD5 Web Crypto-তে নেই — ইচ্ছা করেই, কারণ এটি ভাঙা — তাই এখানে এটি সরাসরি RFC 1321 থেকে ইমপ্লিমেন্ট করা হয়েছে এবং সেই ডকুমেন্টের নিজস্ব প্রকাশিত টেস্ট ভেক্টর দিয়ে যাচাই করা হয়েছে।

জেনে রাখুন: MD5 ও SHA-1 এখানে আছে কারণ বাস্তবের ফাইল আর পুরোনো সিস্টেম এখনো এগুলো ব্যবহার করে, নিরাপদ বলে নয় — নিরাপত্তা-সংক্রান্ত যেকোনো কাজে দুটিই ভাঙা, কাজে লাগে শুধু চেকসাম হিসেবে। Web Crypto-তে ধাপে ধাপে ডাইজেস্ট করার ব্যবস্থা নেই, তাই পুরো ফাইল মেমরিতে রাখা হয়: খুব বড় ফাইল স্ট্রিম না হয়ে ব্যর্থ হবে।

এই টুলটি আপনার ওয়েবসাইটে যোগ করুন

যেকোনো ব্লগ, ক্লাসের পেজ বা হেল্প আর্টিকেলের জন্য ফ্রি। একটি স্নিপেট পেস্ট করলেই আপনার ভিজিটররা আপনার পেজেই এটি ব্যবহার করতে পারবেন।