ভাষা নির্বাচন করুন

অনলাইন হ্যাশ ও চেকসাম জেনারেটর

টেক্সট ও ফাইলের MD5, SHA-1, SHA-256 হ্যাশ তৈরি করুন এবং ব্রাউজারেই সরাসরি চেকসাম যাচাই ও ফলাফল এক্সপোর্ট করুন।

হ্যাশ জেনারেটরকীভাবে কাজ করে ↓
স্পেস এবং লাইন ব্রেকসহ হুবহু টাইপ করা রূপ অনুযায়ী UTF-8 ফরম্যাটে প্রসেস করা হয়
কেস এবং অতিরিক্ত স্পেস উপেক্ষা করে প্রতিটি ফলাফলের সাথে তুলনা করা হয়
Mehmet Demiray (মেহমেত দেমিরায়) প্রকাশিত আপডেট হয়েছে
শেয়ার করুন

হ্যাশ জেনারেটর টুলের কার্যপদ্ধতি ও ফলাফল বিশ্লেষণ

যেকোনো ডিজিটাল তথ্য বা ফাইলের অখণ্ডতা দ্রুত যাচাই করার জন্য হ্যাশ জেনারেটর একটি নির্ভরযোগ্য মাধ্যম। এই টুলে সরাসরি টেক্সট লিখে কিংবা নির্দিষ্ট ফাইল যুক্ত করে একই সঙ্গে একাধিক অ্যালগরিদমের হ্যাশ তৈরি করা যায়। ইনপুট হিসেবে টেক্সট দিলে সেটি হুবহু UTF-8 এনকোডিং অনুসারে প্রক্রিয়া করা হয়। ডিফল্ট হিসেবে টুলে MD5, SHA-1, SHA-256, SHA-384 এবং SHA-512 সক্রিয় থাকে এবং প্রয়োজনে CRC32 যোগ করা যায়।

ফলাফল প্রদর্শনের জন্য হেক্সাডেসিমেল বা সংক্ষেপে hex এবং Base64 ফরম্যাট বেছে নেওয়া যায়। হেক্স ফরম্যাটের ক্ষেত্রে অক্ষরগুলো ছোট হাতের বা বড় হাতের অক্ষরে রূপান্তর করার সুবিধা রয়েছে। প্রতিটি অ্যালগরিদমের ফলাফলের পাশে মূল ইনপুটের তথ্য স্পষ্টভাবে উল্লেখ থাকে। যেমন ফাইলের নাম ও আকার অথবা টেক্সটের ক্ষেত্রে ঠিক কত বাইট ডেটা ব্যবহার হয়েছে তা নিচে প্রদর্শিত হয়।

টুলটির একটি বিশেষ বৈশিষ্ট্য হলো প্রত্যাশিত চেকসাম যাচাইয়ের ব্যবস্থা। ইন্টারনেটের কোনো উৎস থেকে পাওয়া চেকসাম Expected checksum ঘরে বসালে টুলটি স্বয়ংক্রিয়ভাবে প্রতিটি ফলাফলের সঙ্গে তা মিলিয়ে দেখে। এই যাচাইকরণ প্রক্রিয়ায় হেক্স মানের ক্ষেত্রে ছোট বা বড় হাতের অক্ষরের পার্থক্য এবং বাড়তি ফাঁকা জায়গা উপেক্ষা করা হয়। এমনকি টার্মিনাল কমান্ডের পুরো আউটপুট লাইন পেস্ট করলেও এটি প্রথম অংশটি আলাদা করে নিয়ে যাচাই সম্পন্ন করে এবং মিল থাকলে Match কলামে তা সবুজ রঙে চিহ্নিত করে। প্রস্তুতকৃত সম্পূর্ণ ফলাফল CSV, Excel, PDF বা ছবি আকারে সংরক্ষণ করা যায়।

ডাউনলোড করা ফাইলের চেকসাম যাচাই করার নিয়ম

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

যাচাই করার ধাপগুলো নিচে দেওয়া হলো: 1. যে ওয়েবসাইট থেকে ফাইলটি ডাউনলোড করেছেন, সেখান থেকে প্রকাশিত অফিসিয়াল SHA-256 বা MD5 চেকসাম কপি করুন। 2. হ্যাশ জেনারেটর টুলে File অপশন নির্বাচন করে আপনার ডাউনলোড করা ফাইলটি ব্রাউজারে যুক্ত করুন। 3. টুলের Expected checksum ঘরে সংগৃহীত চেকসামটি পেস্ট করুন। 4. ফলাফল তালিকায় কোন সারিতে Match লেখা এসেছে তা লক্ষ্য করুন।

হ্যাশিং প্রক্রিয়ার মূল ধর্ম হলো সামান্য একটি বাইট পরিবর্তিত হলেও সম্পূর্ণ হ্যাশ মান পুরোপুরি বদলে যায়। একে ক্রিপ্টোগ্রাফির ভাষায় অ্যাভাল্যাঞ্চ প্রভাব বলা হয়। ফলে মূল ফাইলের কোনো একটি অক্ষর বা ডেটা নষ্ট হলে চেকসাম মিলবে না। তবে মনে রাখা দরকার যে, একই সার্ভার থেকে ডাউনলোড করা ফাইল এবং চেকসাম কেবল এটিই প্রমাণ করে যে ডাউনলোডের সময় ডেটা ক্ষতিগ্রস্ত হয়নি। সার্ভারটি নিজেই নিরাপদ কিনা তা নিশ্চিত করতে ডিজিটালভাবে স্বাক্ষরিত চেকসাম যাচাই করা অধিক কার্যকর। লিনাক্সে sha256sum, উইন্ডোজে certutil অথবা ম্যাক অপারেটিং সিস্টেমে shasum কমান্ডের মাধ্যমেও এই মান পরীক্ষা করা যায়।

কোন হ্যাশিং অ্যালগরিদম কখন বেছে নেবেন

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

নিচের সারণিতে প্রচলিত অ্যালগরিদমগুলোর বিট দৈর্ঘ্য এবং বর্তমান নিরাপত্তা অবস্থা তুলে ধরা হলো:

অ্যালগরিদম বিট দৈর্ঘ্য হেক্স অক্ষরের সংখ্যা বর্তমান নিরাপত্তা অবস্থা
CRC32 ৩২ বিট ৮ অক্ষর নন-ক্রিপ্টোগ্রাফিক, কেবল অনিচ্ছাকৃত ডেটা ত্রুটি শনাক্তে ব্যবহৃত
MD5 ১২৮ বিট ৩২ অক্ষর ক্রিপ্টোগ্রাফিকভাবে দুর্বল (RFC 6151), সাধারণ ফাইল যাচাইয়ে উপযোগী
SHA-1 ১৬০ বিট ৪০ অক্ষর NIST কর্তৃক নিরাপত্তাজনিত কাজে বাতিল ঘোষিত
SHA-256 ২৫৬ বিট ৬৪ অক্ষর আধুনিক ক্রিপ্টোগ্রাফিক স্ট্যান্ডার্ড (FIPS 180-4), সার্বজনীন ও নিরাপদ
SHA-384 ৩৮৪ বিট ৯৬ অক্ষর অত্যন্ত নিরাপদ, দীর্ঘ সনাক্তকরণ মান
SHA-512 ৫১২ বিট ১২৮ অক্ষর উচ্চ ক্ষমতাসম্পন্ন ও ৬৪-বিট প্রসেসরে দ্রুত কার্যকর

গবেষণাগারে MD5 এবং SHA-1 এর সংঘর্ষ বা কলিশন তৈরি করা সম্ভব হয়েছে, যার অর্থ দুটি ভিন্ন ইনপুট থেকে একই হ্যাশ তৈরি করা যায়। তাই ডিজিটাল স্বাক্ষর, পাসওয়ার্ড সংরক্ষণ বা সার্টিফিকেট তৈরির ক্ষেত্রে এগুলো পুরোপুরি নিষিদ্ধ। তবে হার্ডড্রাইভে সাধারণ কোনো ফাইলের অনুলিপি যাচাই বা অসাবধানতাবশত ফাইল বিকৃত হয়েছে কিনা তা দেখতে এখনও MD5 বহুল ব্যবহৃত। কোনো ফাইলে বহিরাগত কেউ ক্ষতিকর পরিবর্তন এনেছে কিনা তা নিশ্চিত করতে সর্বদা SHA-256 বা SHA-512 ব্যবহার করা নিরাপদ।

হ্যাশিং ও এনক্রিপশনের মৌলিক তফাত

প্রযুক্তিজগতে হ্যাশিং এবং এনক্রিপশন শব্দ দুটিকে অনেকেই একই মনে করেন, কিন্তু এগুলোর কাজের ধরন সম্পূর্ণ আলাদা। এনক্রিপশন হলো দ্বিমুখী প্রক্রিয়া, যেখানে তথ্যের গোপনীয়তা রক্ষার জন্য একটি নির্দিষ্ট চাবির সাহায্যে মূল ডেটাকে অবোধ্য করা হয় এবং প্রয়োজন অনুযায়ী সঠিক চাবি ব্যবহার করে পুনরায় মূল ডেটা উদ্ধার বা ডিক্রিপ্ট করা যায়।

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

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

হ্যাশের ফলাফলে অমিল দেখা দেওয়ার সাধারণ কারণ

অনেক সময় দেখা যায় যে একই টেক্সটের হ্যাশ অন্য কোনো মাধ্যম বা ওয়েবসাইটের সঙ্গে মিলছে না। এর পেছনে প্রধান কারণ হলো কম্পিউটার প্রতিটি অক্ষরের বাইট মান অনুযায়ী হ্যাশ হিসাব করে। আপাতদৃষ্টিতে একই মনে হলেও অদৃশ্য কিছু পরিবর্তনের কারণে হ্যাশ সম্পূর্ণ বদলে যায়।

অমিল হওয়ার প্রধান কারণগুলো নিম্নরূপ: - লাইনের শেষে থাকা অদৃশ্য স্পেস বা ট্যাব ক্যারেক্টার। - অপারেটিং সিস্টেম ভেদে লাইন ব্রেকের পার্থক্য। উইন্ডোজে লাইন ব্রেক হিসেবে CRLF ব্যবহৃত হয়, আর লিনাক্স বা ম্যাক সিস্টেমে কেবল LF ব্যবহৃত হয়। - টেক্সট এনকোডিংয়ের অমিল। এই টুলটি ইনপুটকে হুবহু UTF-8 ফরম্যাটে প্রসেস করে এবং কোনো স্পেস স্বয়ংক্রিয়ভাবে বাদ দেয় না।

হেক্সাডেসিমেল মানের ক্ষেত্রে বড় হাতের বা ছোট হাতের অক্ষরে ফলাফল দেখলে মূল মানের কোনো পরিবর্তন হয় না, কারণ এটি একই বাইটের ভিন্ন দৃশ্যমান রূপ। তবে Base64 ফরম্যাট ব্যবহারের সময় ছোট ও বড় হাতের অক্ষর সংবেদনশীল থাকে। টেক্সটের ক্ষেত্রে লাইন ব্রেক বা ট্রিম নিয়ন্ত্রণের জন্য টেক্সট থেকে MD5 হ্যাশ ব্যবহারের সুযোগ রয়েছে।

ব্রাউজারের ভেতর সম্পূর্ণ ব্যক্তিগত ও নিরাপদ ফাইল হ্যাশিং

অনলাইন টুলে ফাইল আপলোড করার সময় অনেকেই তথ্যের গোপনীয়তা নিয়ে চিন্তিত থাকেন। হ্যাশ জেনারেটর ব্যবহারকারীদের ডেটা সুরক্ষাকে সর্বোচ্চ অগ্রাধিকার দেয়। এই টুলে ফাইল নির্বাচন করার পর কোনো তথ্য সার্ভারে পাঠানো হয় না। ব্রাউজারের আধুনিক Web Crypto প্রযুক্তির সাহায্যে সম্পূর্ণ প্রক্রিয়াটি ব্যবহারকারীর ডিভাইসের ভেতরেই সম্পন্ন হয়।

সম্পূর্ণ কাজটি লোকাল মেমোরিতে সম্পন্ন হওয়ায় পৃষ্ঠাটি একবার লোড হয়ে গেলে ইন্টারনেট সংযোগ ছাড়াও এটি কাজ করতে পারে। ব্রাউজারের মেমোরি সীমাবদ্ধতার কারণে এই টুলে একক ফাইলের সর্বোচ্চ সীমা রাখা হয়েছে ১ GB। এর কারণ পুরো ফাইলটি মেমোরিতে ধারণ করে ক্রিপ্টোগ্রাফিক হিসাব সম্পন্ন করতে হয়। কম মেমোরির মোবাইল ফোনে অতি বৃহৎ ফাইল প্রক্রিয়াকরণে কিছুটা সীমাবদ্ধতা দেখা দিতে পারে।

এই সুবিধাটি ব্যবহারের জন্য কোনো অ্যাকাউন্ট খোলার বা সাইন-আপ করার প্রয়োজন নেই এবং কোনো দৈনিক সীমা আরোপিত নেই। একক ফাইলের ক্ষেত্রে HMAC সহ হ্যাশের জন্য ফাইলের MD5 হ্যাশ কিংবা একসঙ্গে একাধিক ফাইলের জন্য একসঙ্গে একাধিক ফাইলের MD5 হ্যাশ টুল ব্যবহার করা যায়। ফলে ব্যক্তিগত ফাইল বা স্পর্শকাতর কোড ডিভাইসের বাইরে না পাঠিয়েই যেকোনো ব্যক্তি নিশ্চিন্তে ফাইল যাচাই করতে পারেন।

যেগুলোর উত্তর আমরা সবচেয়ে বেশি দিই।

হ্যাশ জেনারেটর ব্যবহার করে কোনো ফাইলের SHA-256 হ্যাশ কীভাবে তৈরি করব?

ফাইল অপশনটি বেছে নিয়ে আপনার কম্পিউটার বা ফোন থেকে নির্দিষ্ট ফাইলটি নির্বাচন করুন। অ্যালগরিদম তালিকায় SHA-256 চালু রাখা থাকলে হ্যাশ জেনারেটর স্বয়ংক্রিয়ভাবে হ্যাশ তৈরি করে দেবে। সেখান থেকে আপনি সরাসরি হ্যাশ কোডটি কপি করে নিতে পারেন অথবা ফলাফল সংরক্ষণ করতে পারেন।

ইন্টারনেট থেকে ডাউনলোড করা ফাইল অক্ষত আছে কি না তা কীভাবে যাচাই করব?

ডাউনলোড করা ফাইলটি নির্বাচন করার পর সংশ্লিষ্ট ওয়েবসাইট থেকে পাওয়া চেকসামটি Expected checksum ঘরে পেস্ট করুন। টুলটি আপনার ফাইলের হিসাবকৃত মানের সাথে সেটি মিলিয়ে দেখবে। মান মিলে গেলে ম্যাচ নির্দেশক সংকেত দেখাবে, যা নিশ্চিত করে যে ডাউনলোড করার সময় ফাইলটি কোনোভাবে নষ্ট বা পরিবর্তিত হয়নি।

হ্যাশ তৈরির সময় ফাইল কি আপনাদের সার্ভারে আপলোড হয়?

না, আপনার ফাইল কোনো সার্ভারে আপলোড করা হয় না। সম্পূর্ণ প্রক্রিয়াটি আপনার ডিভাইসের ব্রাউজারে Web Crypto প্রযুক্তির মাধ্যমে সম্পন্ন হয়। এর ফলে ব্যক্তিগত তথ্যের নিরাপত্তা শতভাগ বজায় থাকে এবং ইন্টারনেট ডেটাও অপচয় হয় না। মেমরির সুবিধার জন্য ব্রাউজারে একবারে সর্বোচ্চ ১ GB আকারের ফাইল প্রক্রিয়া করা যায়।

MD5, SHA-1 এবং SHA-256 এর মধ্যে পার্থক্য কী?

মূল পার্থক্য হলো হ্যাশের বিট সংখ্যা এবং নিরাপত্তা সক্ষমতা। MD5 এর দৈর্ঘ্য ১২৮ বিট এবং SHA-1 এর ১৬০ বিট, তবে ক্রিপ্টোগ্রাফিক বিশ্লেষণের মাধ্যমে এ দুটিতে কলিশন তৈরি করা সম্ভব হয়েছে। অন্যদিকে SHA-256 হলো ২৫৬ বিটের নির্ভরযোগ্য ও আধুনিক মানদণ্ড, যা যেকোনো গুরুত্বপূর্ণ ফাইল বা সফটওয়্যার যাচাইয়ের জন্য আদর্শ। নির্দিষ্টভাবে শুধু MD5 যাচাইয়ের প্রয়োজন হলে ফাইলের MD5 হ্যাশ টুল ব্যবহার করতে পারেন।

হ্যাশিং আর এনক্রিপশন কি একই বিষয়?

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

একই লেখার হ্যাশ অন্য ওয়েবসাইটের সাথে না মেলার কারণ কী?

হ্যাশ অ্যালগরিদম প্রতিটি বর্ণের বাইট মানের ওপর কঠোরভাবে নির্ভরশীল। লেখার শেষে অতিরিক্ত স্পেস, খালি লাইন কিংবা অপারেটিং সিস্টেম ভেদে নতুন লাইনের কোডের ভিন্নতা থাকলে হ্যাশের ফলাফল পুরোপুরি বদলে যায়। হ্যাশ জেনারেটর ইনপুটকে হুবহু UTF-8 ফরম্যাটে রূপান্তর করে কাজ করে। নির্দিষ্ট টেক্সট ফরম্যাটিং নিয়ন্ত্রণে রাখতে চাইলে টেক্সট থেকে MD5 হ্যাশ পৃষ্ঠাটিও দেখতে পারেন।

ফলাফল হিসেবে hex নাকি Base64 নির্বাচন করা ভালো?

সাধারণত সফটওয়্যার ডাউনলোড পেজ এবং অপারেটিং সিস্টেমের কমান্ড লাইনে hex ফরম্যাট ব্যবহার করা হয়। অন্যদিকে বিভিন্ন ওয়েব রিসোর্স ইন্টিগ্রিটি ও এপিআই ব্যবহারের ক্ষেত্রে Base64 বেশি প্রচলিত কারণ এটি আকারে ছোট হয়। আপনার কাজের প্রয়োজনীয়তা অনুসারে যেকোনো একটি বিকল্প বেছে নিতে পারেন।

তথ্যসূত্র

  1. FIPS 180-4: Secure Hash Standard (SHS) · NIST
  2. RFC 1321: The MD5 Message-Digest Algorithm · IETF
  3. RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF) · IETF
  4. RFC 6151: Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms · IETF
  5. NIST Transitioning the Use of Cryptographic Algorithms and Key Lengths (SP 800-131A Rev. 2) · NIST
  6. NIST Retires SHA-1 Cryptographic Algorithm · NIST
  7. SubtleCrypto: digest() method · MDN Web Docs