मंगलवार, 30 अगस्त 2011

हाल ही में

हाल ही में मैं दो अलग अलग सर्वर के बीच तुल्यकालन निर्देशिका के साथ काम सौंपा गया था. क्योंकि फ़ाइलों को बदल सकते हैं, भ्रष्ट या अन्यथा उनकी विशेषताओं में से किसी को बदलने के बिना बदल दिया हो, यह बहुत जरूरी था करने के लिए सुनिश्चित करें कि इन फ़ाइलों को बिल्कुल वही थे.

वहाँ वहाँ बाहर कुछ उपयोगिताओं है कि आप के लिए यह कर सकते हैं, लेकिन सबसे उपयुक्त सुरक्षा एल्गोरिथ्म MD5 है. ठीक है, जाहिर है, VBScript में बनाया MD5 संक्षेप समारोह नहीं है. वहाँ कुछ. NET पुस्तकालयों है कि यह कर बहुत आसानी से कर रहे हैं, लेकिन दुर्भाग्य से उनके तरीकों VBScript को उजागर नहीं हैं (किसी ने मुझे सही अगर मैं गलत हूँ).

तो यह संक्षेप मैं अलग अलग तरीकों के एक जोड़े की कोशिश की MD5 को सुविधाजनक बनाने के लिए. पहले एक, एक शुद्ध VBScript का समाधान, कार्यात्मक था. फ़ाइलों की पहली जोड़ी मैंने कोशिश की कि उस पर एक पकड़ के बिना बंद किया जा रहा था. वह था, जब तक मैं एक 1.9MB फ़ाइल की कोशिश की. उस फ़ाइल में 59 मिनट लग गए शुद्ध VBScript समाधान के माध्यम से चलाने के. जाहिर है यह पूरी तरह से कुछ फ़ाइलों के आकार पर विचार के लिए अव्यावहारिक है.

अगली विधि मैंने कोशिश की एमडी 5 के एक संकलित कमांड लाइन के कार्यान्वयन था. आप इसे डाउनलोड करने और सुनिश्चित करें कि "exe" अपने VBS के रूप में एक ही निर्देशिका में है की आवश्यकता होगी. यह महान काम करता है और तरीका है कि मैं पर बसे है. हैशिंग जल्दी, बहुत जल्दी है. उसी 1.9MB फ़ाइल एक दूसरे के तहत अच्छी तरह से होता है. सिर्फ एक या दो सेकंड में कई सौ एमईजी फ़ाइलें. खैर एक उचित मार्जिन के भीतर. तो यहाँ स्क्रिप्ट और उपयोग की एक त्वरित उदाहरण है:

sHash = MD5Hash ("C: Config.sys \")

एक और तरफ ध्यान दें, मैं एक "IsHash" समारोह है कि क्या स्ट्रिंग आप पास एक वैध हेक्स मूल्य (के बाद से सभी MD5 hashes एक हेक्स स्ट्रिंग के रूप में लौट रहे हैं) है पर आधारित सही है या गलत देता है लिखा था.

कोई टिप्पणी नहीं:

एक टिप्पणी भेजें

fly