MD5 रकम पर भरोसा मत करो।
MD5 रकम डुप्लिकेट की जांच करने का एक विश्वसनीय तरीका नहीं है, वे केवल मतभेदों की जांच करने का एक तरीका है।
संभावित उम्मीदवार डुप्लिकेट खोजने के लिए MD5 का उपयोग करें , और फिर MD5 साझा करने वाले प्रत्येक जोड़े के लिए
- दोनों फाइलों को खोलता है
- एक अलग होने तक उन फ़ाइलों में आगे देखता है।
यह देखकर कि मैं भोले-भाले लोगों के साथ डुप्लिकेट पहचान दर्ज करने के लिए अपवित्र हो रहा हूं, यदि आप पूरी तरह से हैश एल्गोरिथ्म पर भरोसा करने जा रहे हैं, तो भलाई के लिए, SHA256 या SHA512 जैसे कुछ मुश्किल का उपयोग करें, कम से कम आप संभावना को कम कर देंगे अधिक बिट्स की जाँच करके एक उचित डिग्री। टकराव की स्थिति के लिए MD5 अत्यधिक कमजोर है।
मैं लोगों को मेलिंग सूचियों को 'फाइल चेक' शीर्षक से पढ़ने की सलाह भी देता हूं: http://london.pm.org/pipermail/london.pm/Week-of-Mon-20080714/thread.html
यदि आप कहते हैं "MD5 विशिष्ट रूप से सभी फ़ाइलों की विशिष्ट पहचान कर सकता है" तो आपके पास एक तर्क त्रुटि है।
मानों की एक श्रेणी, लंबाई में 40,000 बाइट्स से लंबाई में 100,000,000,000 बाइट्स को देखते हुए अलग-अलग लंबाई की, कि श्रृंखला के लिए उपलब्ध संयोजनों की कुल संख्या बहुत MD5 द्वारा प्रतिनिधित्व मूल्यों की संभावित संख्या, लंबाई की एक मात्र 128 बिट पर में वजन अधिक है।
प्रतिनिधि 2 ^ केवल 2 ^ 128 संयोजनों के साथ 100,000,000,000 संयोजन? मुझे लगता है कि संभावना नहीं है।
कम से कम रास्ता
डुप्लिकेट से खरपतवार निकालने के लिए सबसे कम भोला तरीका और सबसे तेज़ तरीका निम्नानुसार है।
- आकार के अनुसार : विभिन्न आकार वाली फाइलें एक जैसी नहीं हो सकती हैं। इसमें थोड़ा समय लगता है क्योंकि इसमें फाइल को खोलना भी नहीं है।
- MD5 द्वारा : विभिन्न MD5 / Sha मूल्यों वाली फाइलें एक जैसी नहीं हो सकती हैं। इसमें थोड़ा अधिक समय लगता है क्योंकि इसे फ़ाइल में सभी बाइट्स को पढ़ना पड़ता है और उन पर गणित करना पड़ता है, लेकिन यह कई तुलनाओं को तेज बनाता है।
- उपरोक्त अंतरों को विफल करना : फाइलों की बाइट-बाइट तुलना करना। यह निष्पादित करने के लिए एक धीमी परीक्षा है, यही कारण है कि इसे तब तक छोड़ दिया जाता है जब तक कि अन्य सभी नष्ट करने वाले कारकों पर विचार नहीं किया जाता है।
Fdupes ऐसा करता है। और आपको सॉफ्टवेयर का उपयोग करना चाहिए जो समान मानदंडों का उपयोग करता है।