হ্যাশিং হলো একটি প্রদত্ত কিকে একটি কোডে অনুবাদ করার প্রক্রিয়া। একটি হ্যাশ ফাংশন ব্যবহার করা যেতে পারে ডেটাকে একটি নতুন তৈরি হওয়া হ্যাশ কোড দিয়ে প্রতিস্থাপন করতে। হ্যাশ অ্যালগরিদম সাধারণত একটি ফাইলের কন্টেন্টের ডিজিটাল ফিঙ্গারপ্রিন্ট প্রদান করতে ব্যবহৃত হয় যা প্রায়শই ফাইলটি কোনো ইন্ট্রুডার বা ভাইরাস দ্বারা পরিবর্তিত হয়েছে কিনা তা নিশ্চিত করতে। হ্যাশ ফাংশন কিছু অপারেটিং সিস্টেম দ্বারা পাসওয়ার্ড এনক্রিপ্ট করতে også ব্যবহৃত হয়। হ্যাশ ফাংশন একটি ফাইলের অখণ্ডতার মাপ প্রদান করে।
হ্যাশিং অ্যালগরিদম ব্যবহার করে যা একটি ফাইল থেকে ইনফরমেশন ব্লক রূপান্তর করে একটি অনেক ছোট মান বা কিতে একটি স্থির দৈর্ঘ্যের যা সেস্ট্রিংগুলোর সংক্ষিপ্ত রূপ দেয়। ফলাফলের হ্যাশ মান হলো একটি ফাইলের ভিতরে প্রতিটি স্ট্রিং-এর একটি ধরনের সংকেন্দ্রিত সারাংশ, এবং সেটি পরিবর্তন হতে হবে এমনকি যখন একটি একক বাইট ডেটা সেটি ফাইলে পরিবর্তিত হয় (এভালাঞ্চ ইফেক্ট)।
এটি হ্যাশিং-এ ডেটা কম্প্রেশনের বিষয়ে বিশাল সুবিধা দেয়। যাতে হ্যাশিং কম্প্রেশন নয়, এটি ফাইল কম্প্রেশনের মতো অনেক হদ तक কাজ করে যাতে এটি একটি বড় ডেটা সেট নেয় এবং সেটিকে একটি আরও ব্যবস্থাপনাযোগ্য রূপে কুঁচিয়ে দেয়।
নিরাপত্তা লক্ষ্যে একটি ভালো হ্যাশ ফাংশন উনিদিরেকশনাল প্রক্রিয়া হওয়া উচিত যেন একটি ওয়ান-ওয়ে হ্যাশিং অ্যালগরিদম প্রয়োজন। তাই, হ্যাকাররা সহজে হ্যাশটি রিভার্স ইঞ্জিনিয়ারিং করে তা মূল ডেটায় ফিরিয়ে আনতে পারে, এনক্রিপশনের লক্ষ্যকে পরাজিত করে প্রথমেই।
এনক্রিপ্টেড আউটপুটের একমাত্রতা বাড়াতে, র্যান্ডম তথ্য ইনপুটে যোগ করা যেতে পারে একটি হ্যাশ ফাংশনের। এই কৌশলকে "স্যালটিং" বলা হয় এবং অভিন্ন ইনপুটের মধ্যেও অনন্য আউটপুট নিশ্চিত করে।
একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন যতটা সম্ভব একটি র্যান্ডম ফাংশনের মতো আচরণ করা উচিত으면서 এখনও ডিটারমিনিস্টিক এবং দক্ষতার সাথে কম্পিউটেবল। একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন অসুরক্ষিত বিবেচিত হয় যদি নিচের যেকোনো একটি কম্পিউটেশনালি সম্ভব হয়:
একটি (পূর্বে অনদেখা) মেসেজ খুঁজে বের করা যা একটি দত্ত ডাইজেস্টের সাথে মিলে।
"কলিশন" খুঁজে বের করা, যেখানে দুটি ভিন্ন মেসেজের একই মেসেজ ডাইজেস্ট থাকে।
এক আক্রমণকারী যিনি এই দুটোতে যেকোনো একটি করতে পারেন, উদাহরণস্বরূপ, সেগুলো ব্যবহার করতে পারেন একটি অননুমোদিত মেসেজ একটি অনুমোদিত মেসেজের বদলে প্রতিস্থাপন করতে। ধারণাগতভাবে, দুটি মেসেজ খুঁজে বের করা যাদের ডাইজেস্ট կարিবEK সমান তা সম্ভবও না হওয়া উচিত; নর একটি আক্রমণকারী কোনো উপকারী তথ্য বুঝতে পারুক একটি মেসেজ শুধু এর ডাইজেস্ট দেওয়া থাকলে। আক্রমণকারী কমপক্ষে এক টুকরো তথ্য শিখে, ডাইজেস্ট নিজে, যেটি উদাহরণস্বরূপ আক্রমণকারীর ক্ষমতা দেয় একই মেসেজ চিহ্নিত করতে যদি সেটি আবার দেখা যায়।
হ্যাশিং ফাইল টেম্পারিং রোধ বা বিশ্লেষণ করতেও মূল্যবান। প্রাথমিক ফাইল একটি হ্যাশ তৈরি করবে যা ফাইল ডেটার সাথে রাখা হয়। ফাইল এবং হ্যাশ পাঠানো হয়, এবং প্রাপক পক্ষ হ্যাশ চেক করে দেখতে ফাইল নেগোশিয়েটেড হয়েছে কিনা। যদি ডকুমেন্টে যেকোনো পরিবর্তন থাকে, হ্যাশটি তা দেখাবে।