हैशिंग (Hashing) एक दी गई कुंजी को कोड में व्याख्या करने की प्रक्रिया है। एक हैश फंक्शन का उपयोग डेटा को एक नए उत्पादित हैश कोड के साथ प्रतिस्थापित करने के लिए किया जाता है। इसके अलावा, हैशिंग एक स्ट्रिंग या इनपुट कुंजी लेने की प्रथा है, जो कथात्मक जानकारी को बचाने के लिए उत्पन्न एक चर है, और इसे एक हैश मान के साथ परिभाषित करता है, जो आमतौर पर एक एल्गोरिदम द्वारा तय किया जाता है और मूल से बहुत छोटी स्ट्रिंग बनाता है।
हैशिंग की विशेषताएं
- हैशिंग आमतौर पर एक वन-वे क्रिप्टोग्राफिक फंक्शन (One-way Cryptographic Function) है।
- चूंकि हैश अपरिवर्तनीय हैं, हैशिंग विधि के आउटपुट को समझना हमें फ़ाइल की सामग्री को पुनर्जीवित करने में सक्षम नहीं बनाता।
- यह हमें उनकी सामग्री को समझे बिना दो फ़ाइलों के समान होने का आकलन करने की अनुमति देता है।
उपयोग के मामले
- सूचना सुरक्षा और इंटरनेट प्रमाणीकरण: हैशिंग का उपयोग आम प्रथा है। उदाहरण के लिए, डेटाबेस में पासवर्ड को सुरक्षित रूप से संग्रहीत करने के लिए, लेकिन फ़ाइलों और दस्तावेजों सहित सूचना के अन्य तत्वों की सुरक्षा भी प्रदान कर सकते हैं।
- डेटा संरचना: हैशिंग डेटा संरचना सरणियों को प्रभावी ढंग से जानकारी खोजने और संग्रहीत करने की अनुमति देती है, खोजने और जानकारी संग्रहीत करने के लिए एक प्रभावी संरचना का समर्थन करती है।
हैशिंग का उपयोग क्यों?
हैशिंग कैरेक्टर्स की एक स्ट्रिंग को अक्सर छोटी और निश्चित-लंबाई के मान में बदलने की प्रक्रिया है। डेटाबेस में तत्व खोजने के लिए हैश्ड कुंजियों का उपयोग करने का कारण यह है कि मूल मान का उपयोग करके आइटम खोजना छोटी हैश्ड कुंजी का उपयोग करने की तुलना में अधिक समय लेने वाला है।
- तत्वों को खोजते समय संग्रह में प्रभावी ढंग से पता लगाने या संग्रहीत करने के लिए इसका उपयोग किया जा सकता है।
- उदाहरण के लिए, यदि 10,000 अंग्रेजी शब्दों की सूची है और यह जांचना चाहते हैं कि दिया गया शब्द उनके बीच है या नहीं, तो दिए गए शब्द की तुलना सभी 10,000 आइटम से तब तक करना अक्षम होगा जब तक कि कोई मैच नहीं मिल जाता।
- एक सरणी को एक रेंज की कुंजियों के मूल्यों द्वारा अनुक्रमित किया जा सकता है, जिसे हैशिंग के रूप में जाना जाता है। मॉड्यूलो ऑपरेटर का उपयोग कुंजी मूल्यों की एक रेंज प्राप्त करने के लिए किया जाएगा।
सामान्य हैशिंग एल्गोरिदम
- MD5, SHA-1, SHA-2, NTLM, और LANMAN आज की दुनिया में आमतौर पर उपयोग किए जाते हैं।
- एक मैसेज डाइजेस्ट को 5 संस्करणों में विभाजित किया जाता है, यह MD5 है।
- अतीत में, MD5 सबसे प्रसिद्ध हैशिंग एल्गोरिदम में से एक था। MD5 को अपने आउटपुट के लिए 128 बिट्स की आवश्यकता होती है।
हैशिंग प्रक्रिया
- हैशिंग में, डेटा ब्लॉक में प्रत्येक बिट को एक निश्चित-आकार के बिट स्ट्रिंग मान में बदल दिया जाता है।
- एक फ़ाइल में डेटा ब्लॉक शामिल होते हैं।
- एक जोखिम है कि दो अलग-अलग इनपुट समान हैश मान बनाएंगे। इसे कोलिजन (Collision) कहा जाता है, जो तब होता है जब दो अलग-अलग इनपुट समान हैश मान का समर्थन करते हैं।