HASHBYTES
समारोह केवल इनपुट के रूप में 8000 बाइट तक ले जाता है। क्योंकि आपके इनपुट संभावित रूप से बड़े हैं, जिस फ़ील्ड में हैशेड डुप्लिकेट हो गया है , उसके कारण टकराव का कारण बनेगा, भले ही एल्गोरिथम को चुना गया हो। ध्यान से उस डेटा की सीमा पर विचार करें जिसे आपने हैश करने की योजना बनाई है - पहले 4000 अक्षरों का उपयोग करना स्पष्ट पसंद है, लेकिन आपके डेटा के लिए सबसे अच्छा विकल्प नहीं हो सकता है ।
किसी भी घटना में, हैश फ़ंक्शन क्या है, भले ही इनपुट 8000 बाइट्स या उससे कम हो, परिणामों में 100% शुद्धता सुनिश्चित करने का एकमात्र तरीका आधार मान की तुलना किसी बिंदु पर करना है (पढ़ें: जरूरी नहीं कि पहले )। अवधि।
व्यवसाय यह निर्धारित करेगा कि 100% सटीकता की आवश्यकता है या नहीं। यह आपको बताएगा कि या तो (a) आधार मानों की तुलना करना आवश्यक है , या (b) आपको आधार मानों की तुलना नहीं करने पर विचार करना चाहिए - प्रदर्शन के लिए कितनी सटीकता से कारोबार करना चाहिए।
जबकि हैश टक्कर एक अद्वितीय इनपुट सेट में संभव है, वे infinitesimally दुर्लभ हैं, चाहे एल्गोरिथ्म चुना गया हो। इस परिदृश्य में हैश मान का उपयोग करने का पूरा विचार कुशलतापूर्वक एक अधिक प्रबंधनीय सेट में शामिल होने के परिणामों को कम करने के लिए है, जरूरी नहीं कि परिणाम के अंतिम सेट पर तुरंत पहुंचें। फिर से, 100% सटीकता के लिए, यह प्रक्रिया का अंतिम चरण नहीं हो सकता है। यह परिदृश्य क्रिप्टोग्राफी के उद्देश्य के लिए हैशिंग का उपयोग नहीं कर रहा है, इसलिए एमडी 5 जैसे एक एल्गोरिथ्म ठीक काम करेगा।
मेरे लिए "सटीकता" उद्देश्यों के लिए SHA-x एल्गोरिथ्म में जाने को सही ठहराना बहुत कठिन होगा क्योंकि यदि व्यवसाय एमडी 5 की मिनीस्कूल टकराव की संभावनाओं के बारे में पता लगाने जा रहा है, तो संभावना है कि वे भी बाहर जा रहे हैं SHA-x एल्गोरिदम सही नहीं हैं। उन्हें या तो मामूली अशुद्धि के साथ आना होगा, या यह जनादेश देना होगा कि प्रश्न 100% सटीक हो और संबद्ध तकनीकी निहितार्थों के साथ रहें। मुझे लगता है कि अगर सीईओ एमडी 5 के बजाय SHA-x का उपयोग करते हुए रात में बेहतर सोता है, तो ठीक है; यह अभी भी इस मामले में तकनीकी दृष्टिकोण से ज्यादा मायने नहीं रखता है।
प्रदर्शन की बात करें तो, यदि तालिकाएं ज्यादातर पढ़ी जाती हैं और इसमें शामिल होने के परिणाम की अक्सर आवश्यकता होती है, तो हर बार अनुरोध किए जाने पर संपूर्ण सम्मिलित होने की गणना करने की आवश्यकता को समाप्त करने के लिए अनुक्रमित दृश्य को लागू करने पर विचार करें। बेशक आप उस के लिए भंडारण बंद कर देते हैं, लेकिन प्रदर्शन में सुधार के लिए यह अच्छी तरह से इसके लायक हो सकता है, खासकर अगर 100% सटीकता की आवश्यकता होती है।
लंबे स्ट्रिंग मानों को अनुक्रमित करने के बारे में आगे पढ़ने के लिए, मैंने एक लेख प्रकाशित किया जो इस बात का उदाहरण है कि इस तालिका के लिए कैसे करें, और इस प्रश्न में पूर्ण परिदृश्य का प्रयास करते समय विचार करने के लिए चीजें प्रस्तुत करता है।