ডেভেলপার টুল

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

একসাথে টেক্সট ও ফাইলের জন্য MD5, SHA-1, SHA-256, SHA-384 এবং SHA-512 পান। ডাউনলোড করা ফাইলকে অফিসিয়াল চেকসামের সাথে যাচাই করুন যাতে তা ছেড়েফাঁকা করা না হয়। সবকিছু স্থানীয়, আপনার ব্রাউজার থেকে কিছু বের হয় না।

একসাথে ৫টি অ্যালগরিদম টেক্সট + ফাইল চেকসাম স্থানীয়, জিরো আপলোড তাৎক্ষণিক ফলাফল
অক্ষর UTF-8 বাইট

ফিচারসমূহ

এক পৃষ্ঠায় সব পাঁচটি হ্যাশ

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

01

পাঁচটি অ্যালগরিদম

আউটপুট বিট দৈর্ঘ্য সহ একসাথে MD5, SHA-1, SHA-256, SHA-384 এবং SHA-512 প্রদর্শিত হয় — টুলের মধ্যে বারবার স্যুইচ করার প্রয়োজন নেই।

02

রিয়েল-টাইম গণনা

টাইপ করার সাথে সাথেই টেক্সটের হ্যাশ, কোনো বাটনে চাপ দেওয়ার প্রয়োজন নেই। ফলাফল মনোস্পেসে — কপি করতে একটি সারিতে ক্লিক করুন।

03

ফাইলের অখণ্ডতা যাচাই

একটি ইনস্টলার, ডিস্ক ইমেজ বা আর্কাইভ ছেড়ে দিন এবং অফিসিয়াল চেকসামের সাথে তুলনা করুন নিশ্চিত করার জন্য ডাউনলোডটি ছেড়েফাঁকা করা হয়নি।

04

স্থানীয়, জিরো আপলোড

SHA পরিবার ব্রাউজারের বিল্ট-ইন Web Crypto API ব্যবহার করে। টেক্সট ও ফাইল কখনই আপনার মেশিন থেকে বের হয় না — সংবেদনশীল বিষয়বস্তু নিরাপদ।

05

UTF-8 সামঞ্জস্যপূর্ণ

টেক্সটটি UTF-8 বাইট হিসেবে হ্যাশ করা হয়, ফলে ফলাফল md5sum, PHP md5() এবং Python hashlib-এর সাথে ঠিক মেলে।

06

এক ক্লিকে কপি

প্রতিটি হ্যাশ আলাদাভাবে কপি করুন, অথবা টার্মিনালে পেস্ট করার জন্য প্রস্তুত স্ট্যান্ডার্ড চেকসাম ফরম্যাটে একসাথে সবগুলো কপি করুন।

হ্যাশ সম্পর্কে যা জানা উচিত

ধারণাটি সহজ, কিন্তু ভুল কাজের জন্য ভুল হ্যাশ ব্যবহার করা প্রকৃত নিরাপত্তা ভুল।

MD5 এবং SHA-1 ঠিক কী?

MD5 (মেসেজ-ডাইজেস্ট অ্যালগরিদম 5) ডিজাইন করেছেন MIT-এর রোনাল্ড রিভেস্ট এবং 1992 সালে RFC 1321 হিসেবে প্রকাশিত হয়েছিল, MD4-এর উত্তরসূরি হিসেবে একটি স্থায়ী 128-বিট (32 হেক্স অক্ষর) ডাইজেস্ট তৈরি করে। SHA-1 ডিজাইন করেছেন মার্কিন জাতীয় সুরক্ষা সংস্থা এবং 1995 সালে ফেডারেল স্ট্যান্ডার্ড FIPS 180-1 হিসেবে প্রকাশিত হয়েছিল, যা 160 বিট তৈরি করে। উভয়ই পরবর্তী দুই দশকে সবচেয়ে বেশি ব্যবহৃত হ্যাশ অ্যালগরিদম হয়ে ওঠে — ফাইল চেকসাম, পাসওয়ার্ড স্টোরেজ, ডিজিটাল স্বাক্ষর এবং Git কমিট আইডি-এর জন্য ব্যবহৃত হয়। মনে রাখবেন এগুলো আজও সঠিক ডাইজেস্ট তৈরি করে; "অনিরাপদ" মানে হলো এগুলোর সংঘর্ষ প্রতিরোধ ক্ষমতা ভেঙ্গে গেছে, ফলাফল ভুল নয়।

হ্যাশিং, এনক্রিপশন এবং এনকোডিং কি একই জিনিস?

না — এগুলো ভিন্ন সমস্যা সমাধান করে। এনকোডিং (যেমন Base64 বা URL এনকোডিং) হলো একটি বিপরীত করা যায় এমন ফরম্যাট রূপান্তর, যা কেউই বিপরীত করতে পারে এবং কোনো নিরাপত্তা প্রদান করে না। এনক্রিপশন হলো কী দিয়ে বিপরীত করা যায়: প্লেইনটেক্সট সাইফারটেক্সটে পরিণত হয় এবং সঠিক কী এটি বিপরীত করে। হ্যাশিং হলো একমুখী, এর কোনো কী নেই এবং ডাইজেস্ট থেকে মূল রিকভার করা যায় না — এটি ফিঙ্গারপ্রিন্ট, অখণ্ডতা যাচাই এবং স্বাক্ষরের জন্য ব্যবহৃত হয়। দুটি সাধারণ ভুল ধারণা: Base64 কে "এনক্রিপশন" হিসেবে গণ্য করা এবং MD5 দিয়ে "পাসওয়ার্ড এনক্রিপ্ট করা হয়েছে" বলা — এটি হ্যাশিং, এবং পাসওয়ার্ড স্টোর করার জন্য এটি ঝুঁকিপূর্ণ পদ্ধতি।

কেন একটি হ্যাশকে মূলে বিপরীত করা যায় না?

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

MD5 এবং SHA-1 কি এখনও ব্যবহারযোগ্য?

ট্রানজিটে কোনো ফাইল ঘটনাক্রমে ক্ষতিগ্রস্ত হয়েছে কিনা তা যাচাই করার জন্য — হ্যাঁ, যেকোনো বিচ্ছিন্ন বাইট পরিবর্তন কার্যত সবসময় MD5 পরিবর্তন করে। কিন্তু কখনোই নিরাপত্তার জন্য নয: উভয়ের জন্যই ব্যবহারিক সংঘর্ষ আক্রমণ বিদ্যমান (গবেষকরা তাদের নিয়ন্ত্রণে থাকা একই MD5 সহ দুটি ভিন্ন ফাইল তৈরি করতে পারেন)। পাসওয়ার্ড, স্বাক্ষর এবং সার্টিফিকেটের জন্য SHA-256 বা তার উপরের সংস্করণ ব্যবহার করুন।

একই টেক্সটের জন্য আমার হ্যাশ অন্য টুলের থেকে ভিন্ন কেন?

তিনটি সাধারণ কারণ: ① ভিন্ন ক্যারেক্টার এনকোডিং (এই টুলটি সর্বদা UTF-8 ব্যবহার করে; পুরানো টুলগুলো GBK বা Latin-1 ব্যবহার করতে পারে); ② একটি ট্রেলিং নিউলাইন — কমান্ড-লাইন echo ডিফল্টরূপে একটি যোগ করে (echo -n ব্যবহার করুন); ③ কপি করার সময় একটি বিচ্ছিন্ন স্পেস বা অদৃশ্য ক্যারেক্টার। হ্যাশ প্রতিটি একক বাইটের প্রতি সংবেদনশীল, তাই এক বাইটও ভুল হলে পুরো ফলাফল সম্পূর্ণভাবে পরিবর্তিত হয়।

কেন পাসওয়ার্ডগুলো সরাসরি MD5/SHA-256 হিসেবে স্টোর করা যায় না?

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

আমি কীভাবে ডাউনলোড করা ফাইলের অখণ্ডতা যাচাই করবো?

অফিসিয়াল সাইটে প্রকাশিত চেকসামটি সনাক্ত করুন (সাধারণত SHA-256), ডাউনলোড করা ফাইলটি এখানে "File checksum" ট্যাবে টেনে আনুন এবং ফলাফলের উপরের বক্সে অফিসিয়াল মানটি পেস্ট করুন। টুলটি মানের দৈর্ঘ্য থেকে অ্যালগরিদম সনাক্ত করবে এবং ফাইলের বাইট প্রকাশকারীর প্রকাশিত বাইটের সাথে ঠিক মিললে ম্যাচ করা সারিটি সবুজ করে দেবে; লাল মানে হবে ফাইলটি দুর্নীতিগ্রস্ত হয়েছে বা ম্যান-ইন-দ্য-মিডল দ্বারা প্রতিস্থাপিত হয়েছে — ফাইলটি চালাবেন না।

পাঁচটি অ্যালগরিদমের মধ্যে কোনটি ব্যবহার করবেন

পরিস্থিতি অনুযায়ী বেছে নিন। নতুন অ্যালগরিদমগুলো দীর্ঘ ডাইজেস্ট তৈরি করে, আক্রমণের বিরুদ্ধে ভালোভাবে প্রতিরোধ করে এবং গণনা করতে সামান্য বেশি সময় নেয়।

অ্যালগরিদম প্রবর্তিত আউটপুট দৈর্ঘ্য সুরক্ষা সাধারণ ব্যবহার
MD5 1992 128 বিট (32 অক্ষর) ভঙ্গে ফেলা হয়েছে; সংঘর্ষ ব্যবহারিক নিরাপত্তাহীন ফিঙ্গারপ্রিন্ট, ডিডাপ, লিগ্যাসি সামঞ্জস্য
SHA-1 1995 160 বিট (40 অক্ষর) 2017 সাল থেকে সংঘর্ষ ব্যবহারিক Git ইতিহাস আইডি এবং অন্যান্য লিগ্যাসি সিস্টেম; নতুন নিরাপত্তা ব্যবহারের জন্য নয়
SHA-256 2001 256 বিট (64 অক্ষর) আজ নিরাপদ ফাইলের চেকসাম, স্বাক্ষর, TLS শংসাপত্র, ব্লকচেইন — সার্বজনীন ডিফল্ট
SHA-384 2001 384 বিট (96 অক্ষর) নিরাপদ 384 বিট প্রয়োজনীয় কমপ্লায়েন্স নিয়মের জন্য কাটা SHA-512
SHA-512 2001 512 বিট (128 অক্ষর) নিরাপদ উচ্চ-বিশ্বস্ততাসম্পন্ন স্বাক্ষর; 64-বিট CPU-তে প্রায়শই SHA-256 থেকে দ্রুত

"নিরাপদ" মানে আজ পর্যন্ত কোনো ব্যবহারিক পাবলিক সংঘর্ষ আক্রমণ নেই। পাসওয়ার্ড স্টোরেজের জন্য হ্যাশ পছন্দ যাই হোক না কেন bcrypt/Argon2 ব্যবহার করুন।

চেকসাম: ডাউনলোড করা ফাইল কীভাবে বাস্তবে যাচাই করবেন

ডাউনলোড পৃষ্ঠার সেই MD5 বা SHA-256 স্ট্রিংয়ের উদ্দেশ্য কী, এটি কীভাবে তুলনা করবেন এবং কীসাথে তুলনা করবেন — সবকিছু একই বিভাগে।

কেন একেবারে যাচাই করবেন

আপনার ডিস্কের ফাইলটি সার্ভারের ফাইল নাও হতে পারে। দশ সেকেন্ডের চেকসাম তুলনা তিন ধরনের সমস্যার বিরুদ্ধে রক্ষা করে:

পরিবহনের সময় দুর্নীতি

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

সিঙ্ক না করা মিরর

অনেক ডাউনলোড আসলে মিরর বা CDN থেকে আসে, যেখানে সিঙ্ক ল্যাগ বা ক্যাশ ত্রুটি আপনাকে পুরানো রিলিজ — বা অর্ধেক ফাইল — দিতে পারে।

ইচ্ছাকৃত ছিন্নভিন্নকরণ

ডাউনলোড উৎস আপত্তন করা হলে বা পাবলিক নেটওয়ার্ক হাইজ্যাক করা হলে, ফাইলগুলোতে ব্যাকডোর ঢোকানো হতে পারে। 2016 সালে Linux Mint সাইট হ্যাক করা হয় এবং এর ডাউনলোড লিঙ্কগুলো ব্যাকডোরযুক্ত ISO দিয়ে বদল করা হয় — প্রজেক্টের প্রথম প্রতিক্রিয়া ছিল সবাইকে চেকসাম যাচাই করার আহ্বান জানানো।

চেকসাম কী

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

ফাইলটি তিন ধাপে যাচাই করুন

  1. 1
    সরকারি চেকসাম পান

    ডাউনলোড পৃষ্ঠায় প্রকাশিত MD5/SHA-256 মানটি খুঁজুন (প্রায়শই "checksum" লেবেলযুক্ত হয় বা .sha256 কম্প্যানিয়ন ফাইল হিসেবে প্রদান করা হয়) এবং পুরো স্ট্রিংটি কপি করুন।

  2. 2
    ফাইলটি নামিয়ে পেস্ট করুন

    উপরের "File checksum" ট্যাবে স্যুইচ করুন, ডাউনলোড করা ফাইলটি এনে ফেলুন এবং উপরের বক্সে চেকসামটি পেস্ট করুন।

  3. 3
    রঙের মাধ্যমে রিডিং করুন

    টুলটি মানের দৈর্ঘ্য থেকে অ্যালগরিদম সনাক্ত করে: সবুজ মানে ফাইলটি সরকারি প্রকাশের সাথে ঠিক মেলে এবং ব্যবহার করা নিরাপদ; লাল মানে এটি ক্ষতিগ্রস্ত বা পরিবর্তিত হতে পারে — এটি চালাবেন না।

সরকারি সাইটের চেকসাম পড়া

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

# 1. এক লাইন: শুধু মান
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a

# 2. sha256sum ফর্ম্যাট: মান + দুটি স্পেস + ফাইলের নাম (একটি SHA256SUMS ম্যানিফেস্ট এমন অনেক লাইন থাকে)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a  ubuntu-24.04.iso

# 3. BSD ফর্ম্যাট: অ্যালগরিদম (ফাইলের নাম) = মান
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a

MD5 নাকি SHA-256

সরকারি সাইট যা প্রদান করে তা যাচাই করুন, কিন্তু আপনার পছন্দ হলে: ট্রানজিটে দুর্ঘটনাজনিত ক্ষতির বিরুদ্ধে MD5 সম্পূর্ণভাবে পর্যাপ্ত (কোনো ভ্রান্ত পরিবর্তন প্রায় সবসময় MD5 পরিবর্তন করে)। ইচ্ছাকৃত ছিন্নভিন্ন করার বিরুদ্ধে — সিকিউরিটি সফটওয়্যার, সার্টিফিকেট, স্বাক্ষরিত প্যাকেজ — আপনার SHA-256 বা তার চেয়ে শক্তিশালী প্রয়োজন, কারণ বাস্তবসম্মত সংঘর্ষ আক্রমণে আক্রমণকারীরা একই MD5 সহ দুটি ভিন্ন ফাইল তৈরি করতে পারে। এই ঘটনাটি নিচের "security history" এ বলা হয়েছে।

পরিবর্তে কমান্ড লাইন থেকে যাচাই করুন

Linux এবং macOS-এ, চেকসাম টুলস -c সুইচ গ্রহণ করে পুরো ম্যানিফেস্ট স্বয়ংক্রিয়ভাবে যাচাই করতে — ম্যানুয়ালি তুলনা করার প্রয়োজন নেই। Windows-এর অন্তর্নির্মিত কমান্ডগুলো শুধু মান গণনা করে, যা আপনাকে নিজে সরকারি স্ট্রিংয়ের সাথে তুলনা করতে হবে।

পরিবেশ যাচাই করার কমান্ড
Linux sha256sum -c SHA256SUMS (ম্যানিফেস্টে তালিকাভুক্ত প্রতিটি ফাইল পরীক্ষা করবে)
macOS shasum -a 256 -c checksum.txt
দ্রুত একক মান পরীক্ষা echo "official-value filename" | sha256sum -c - (সফল হলে OK প্রিন্ট করবে)
Windows Get-FileHash <file> -Algorithm SHA256 দিয়ে গণনা করুন, তারপর সরকারি মানের সাথে তুলনা করুন

সংক্ষিপ্ত সুরক্ষা ইতিহাস: কীভাবে MD5 ভঙ্গ হয়েছিল

এক রাতে MD5 ব্যর্থ হয়নি — একাডেমিয়াতে প্রথম ফাটল থেকে শুরু করে বাস্তব জগতে জাল সার্টিফিকেট পর্যন্ত, এতে দুই দশক সময় লেগেছিল।

  1. 1992

    MD5 প্রকাশিত হয়

    রোনাল্ড রাইভেস RFC 1321-এ MD5 প্রকাশ করেন। দ্রুত, বাস্তবায়নে সহজ এবং সর্বদা 128-বিট ডাইজেস্ট প্রদানকারী, এটি দ্রুত ফাইল চেকসাম এবং পাসওয়ার্ড স্টোরেজের ডি ফ্যাক্টো স্ট্যান্ডার্ড হয়ে ওঠে — এবং ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত হিসেবে বিবেচিত হতো।

  2. 2004

    ওয়াং সিয়াওইউনের দল MD5 সমষ্টি প্রকাশ করেন

    CRYPTO 2004-এ, চীনা গণিতবিদ ওয়াং সিয়াওইউনের নেতৃত্বে একটি দল MD5-এর সম্পূর্ণ সমষ্টি আক্রমণ প্রদর্শন করে — ভিন্ন বিষয়বস্তু কিন্তু একই হ্যাশ সম্পন্ন দুটি ফাইল নির্মাণ করে (প্রাথমিকভাবে IBM P690 সুপারকম্পিউটারে প্রায় এক ঘন্টায়; পরবর্তী উন্নয়নে সাধারণ হার্ডওয়্যারে এটি সেকেন্ডে নেমে আসে)। MD5-এর প্রতিশ্রুত সমষ্টি প্রতিরোধ ক্ষমতা শেষ হয়ে গেছে; এরপরের দাঁড়ানো স্ট্যান্ডিং ওভেশন ক্রিপ্টোগ্রাফির অন্যতম প্রসিদ্ধ মুহূর্ত হয়ে ওঠে।

  3. 2008

    জাল শংসাপত্র প্রকৃত ইন্টারনেটে আঘাত হানে

    মার্ক স্টিভেন্স, আলেকজান্ডার সোটিরভ এবং অন্যরা নির্বাচিত-উপসর্গ সমষ্টি ব্যবহার করে ব্রাউজার দ্বারা বিশ্বস্ত মধ্যবর্তী CA শংসাপত্র জাল করে: ভিন্ন উপসর্গ সম্পন্ন শংসাপত্র একই স্বাক্ষর বহন করে। একজন আক্রমণকারী এখন যেকোনো জাল সাইটের জন্য "বৈধ" HTTPS শংসাপত্র জারি করতে পারে। শংসাপত্র কর্তৃপক্ষ এর কিছুক্ষণ পরেই MD5 শংসাপত্র জারি করা বন্ধ করে দেয়।

  4. 2012

    ফ্লেম ম্যালওয়্যার MD5-এর মাধ্যমে Windows আক্রমণ করে

    রাষ্ট্র-প্রদত্ত ফ্লেম ম্যালওয়্যার একটি MD5 সমষ্টি ব্যবহার করে মাইক্রোসফটের টার্মিনাল-সার্ভার লাইসেন্স কর্তৃপক্ষকে একটি জাল কোড-সাইনিং শংসাপত্র স্বাক্ষর করতে বাধ্য করে, যা এটিকে মাইক্রোসফট-স্বাক্ষরিত আপডেটের ছদ্মবেশে মধ্যপ্রাচ্য জুড়ে ছড়িয়ে পড়তে দেয়। এটি MD5 সমষ্টি ব্যবহার করে প্রথম বাস্তব বিশ্বের আক্রমণ ছিল; মাইক্রোসফট জরুরি প্যাচের মাধ্যমে শংসাপত্রটি প্রত্যাহার করে।

  5. 2017

    SHAttered: SHA-1 পতন

    Google এবং ডাচ CWI ইনস্টিটিউট (মার্ক স্টিভেন্স এট আল.) অভিন্ন SHA-1 হ্যাশ সম্পন্ন দুটি ভিন্ন PDF ফাইল প্রকাশ করেন — প্রায় 6,500 CPU বছর এবং 110 GPU বছর ব্যয়ে। এর কিছুক্ষণ পর ব্রাউজারগুলো SHA-1 শংসাপত্রের বিশ্বাস অপসারণ করে এবং Git প্ল্যাটফর্মগুলো এর বহিষ্করণ ত্বরান্বিত করে। 160-বিট যুগ শেষ হয়েছে।

গুরুত্বপূর্ণ সূক্ষ্মতা: সমষ্টি আক্রমণ কোনো বিদ্যমান ফাইলের হ্যাককে "ক্র্যাক" করে না — এটি একই মানের হ্যাশ দানকারী দুটি নির্দিষ্ট ফাইল নির্মাণ করে। কিন্তু স্বাক্ষর ও শংসাপত্রের জন্য, এটি ইতিমধ্যেই মারাত্মক জাল করার জন্য যথেষ্ট।

কমান্ড লাইন থেকে হ্যাশিং

ব্রাউজার সহজলভ্য না হলে, প্রতিটি OS একটি নির্মিত কমান্ড প্রেরণ করে (SHA-256 দেখানো হয়েছে)।

পরিবেশ কমান্ড
Linux / macOS sha256sum filename (macOS-এ: shasum -a 256 filename)
Windows PowerShell Get-FileHash filename -Algorithm SHA256
Windows CMD certutil -hashfile filename SHA256

কোডে হ্যাশিং

স্ক্রিপ্ট লেখা বা API একীভূত করার সময় চারটি সাধারণ ভাষায় ন্যূনতম উদাহরণ।

JavaScript
async function sha256Hex(data) {
  const bytes = typeof data === "string"
    ? new TextEncoder().encode(data)
    : new Uint8Array(data);
  const digest = await crypto.subtle.digest("SHA-256", bytes);
  return [...new Uint8Array(digest)]
    .map((b) => b.toString(16).padStart(2, "0"))
    .join("");
}

// Text
console.log(await sha256Hex("hello"));

// Files: digest accepts an ArrayBuffer directly
const buf = await file.arrayBuffer();
console.log(await sha256Hex(buf));

ব্রাউজারের নেটিভ Web Crypto শুধুমাত্র SHA পরিবারকে সমর্থন করে এবং HTTPS বা localhost প্রয়োজন; MD5-এর জন্য তৃতীয় পক্ষের লাইব্রেরি প্রয়োজন।

PHP
echo hash('sha256', 'hello');        // 64 hex characters
echo md5('hello');                   // same as hash('md5', 'hello')

// Streamed: hashes the file without loading it into memory
echo hash_file('sha256', 'setup.exe');

hash() এবং hash_file() md5, sha1, sha256, sha512 এবং আরও অনেককে সমর্থন করে; ফাইল হ্যাশিং স্ট্রিম করা হয়, তাই এটি অল্প মেমরি ব্যবহার করে।

Python
import hashlib

print(hashlib.sha256(b"hello").hexdigest())
print(hashlib.md5(b"hello").hexdigest())

# Large files: streamed, low memory (Python 3.11+)
with open("setup.exe", "rb") as f:
    print(hashlib.file_digest(f, "sha256").hexdigest())

hashlib স্ট্যান্ডার্ড লাইব্রেরির কোনো ইনস্টলের প্রয়োজন নেই; বড় ফাইলের স্ট্রিম হ্যাশের জন্য file_digest() ব্যবহার করুন (Python 3.11+)।

Rust
use sha2::{Digest, Sha256};
use md5::Md5;

// Text
println!("{:x}", Sha256::digest(b"hello"));
println!("{:x}", Md5::digest(b"hello"));

// Large files: streamed, low memory
let mut file = std::fs::File::open("setup.exe")?;
let mut hasher = Sha256::new();
std::io::copy(&mut file, &mut hasher)?;
println!("{:x}", hasher.finalize());

হ্যাশিং স্ট্যান্ডার্ড লাইব্রেরিতে নেই; Cargo.toml-এ RustCrypto sha2 এবং md-5 ক্রেট যোগ করুন। std ফিচার চালু থাকলে, io::copy ফাইলগুলোকে হ্যাশারে স্ট্রিম করে।

প্রশ্নোত্তর

আমার টেক্সট ও ফাইলগুলো আপলোড হয়েছে কি?

না। সবকিছুই আপনার ব্রাউজারের ভিতরে গণনা করা হয়: SHA ফ্যামিলি বিল্ট-ইন Web Crypto API কে কল করে এবং MD5 পেজ জাভাস্ক্রিপ্টে চলে। নেটওয়ার্ক আনপ্লাগ করেও টুলটি কাজ করে – সংবেদনশীল ফাইল নিয়ে এটি ব্যবহার করে দেখুন।

খালি টেক্সটেরও হ্যাশ থাকে কেন?

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

এটি কি যেকোনো আকারের ফাইলের হ্যাশ করতে পারে?

এটি ব্রাউজারের উপলব্ধ মেমরির ওপর নির্ভর করে – কয়েকশ MB এর ইনস্টলার এবং ডিস্ক ইমেজ সাধারণত ঠিক থাকে। ফাইলগুলো একবারে মেমরিতে পড়া হয়, তাই একাধিক GB এর ফাইলের জন্য কমান্ড-লাইন টুল (sha256sum, certutil) ব্যবহার করা ভালো।

হ্যাশের দৈর্ঘ্য ভিন্ন হয় কেন?

দৈর্ঘ্য অ্যালগরিদম দ্বারা নির্ধারিত হয়: MD5 হলো 32 হেক্স অক্ষর, SHA-1 হলো 40, SHA-256 হলো 64 এবং SHA-512 হলো 128। প্রতি বাইটে দুইটি হেক্স অক্ষর – এবং দৈর্ঘ্য ইনপুটের আকার থেকে স্বাধীন: এক বাইটের ফাইল এবং একাধিক GB এর ফাইল উভয়ই SHA-256 দিয়ে 64টি অক্ষর দেয়।

আমি কি এটি API সিগনেচার তৈরি করতে ব্যবহার করতে পারি?

হ্যাঁ। অনেক ওপেন প্ল্যাটফর্ম MD5 বা SHA-256 দিয়ে "প্যারামিটার + সিক্রেট" হ্যাশ করে রিকোয়েস্ট সাইন করে। ডিবাগ করার সময় সিগনেচার মান পরীক্ষা করার জন্য এই টুলটি খুবই উপযোগী; প্রোডাকশনে আপনার সার্ভার-সাইড ল্যাঙ্গুয়েজ লাইব্রেরিতে হ্যাশ গণনা করুন এবং কখনোই ফ্রন্টএন্ড কোডে সিক্রেট এম্বেড করবেন না।

এই টুল দিয়ে আমি কীভাবে একটি চেকসাম তুলনা করব?

"ফাইল চেকসাম" ট্যাবে সুইচ করুন, ফাইলটি ছেড়ে দিন এবং ফলাফলের উপরের বাক্সে অফিসিয়াল সাইট থেকে চেকসামটি পেস্ট করুন। টুলটি দৈর্ঘ্য অনুযায়ী অ্যালগরিদম স্বয়ংক্রিয়ভাবে সনাক্ত করে (32 অক্ষর MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384, 128 SHA-512): যখন সেগুলি একমত হয় তখন মিলের সারি "পাসড" নোট সহ সবুজ হয়ে যায়, এবং না হলে লাল হয়। অক্ষরের কেস, চারপাশের স্পেস এবং লাইন ব্রেক স্বয়ংক্রিয়ভাবে উপেক্ষা করা হয়।

সম্পর্কিত টুল

অন্যান্য এনকোডিং, ক্রিপ্টো এবং পাসওয়ার্ড টুল।