क्या विंडोज 7 में SHA-1 या MD5 हैश की गणना के लिए एक अंतर्निहित पद्धति है? [डुप्लिकेट]


37

क्या विंडोज 7 में SHA-1 या MD5 हैश की गणना के लिए एक अंतर्निहित पद्धति है?



मैं अन्य प्रश्न के शीर्षक में sha1 को शामिल करने और इस एक को बंद करने का समर्थन करूंगा
ब्रायन वेबस्टर

यह प्रश्न superuser.com/questions/89191/… का डुप्लिकेट नहीं है । यह प्रश्न केवल शेल एकीकरण के लिए पूछ रहा है, कोई कमांड लाइन नहीं।
वारबैंक

यह समाधान बिल्कुल विंडोज 7 में बिल्ट-इन नहीं है, लेकिन अगर आपके पास पहले से ही गिट बैश (msys / mingw) स्थापित है, तो इसमें md5sum कमांड लाइन शामिल है
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
क्रिश्चियन लॉन्ग

जवाबों:


31

कोई अंतर्निहित उपयोगिता नहीं है, हालांकि Microsoft एक मुफ्त डाउनलोड के रूप में एक कमांड-लाइन उपयोगिता प्रदान करता है:

फ़ाइल चेकसम इंटीग्रिटी वेरिफायर उपयोगिता की उपलब्धता और विवरण


6
यह अब बिल्कुल सच नहीं है। PowerShell 4 Get-FileHashकमांड जोड़ता है । (समय के बारे में, यह नहीं है?) हालांकि, निष्पक्ष होने के लिए, PowerShell 4 को अभी बहुत ही नए विंडोज ऑपरेटिंग सिस्टम में स्थापित किया गया है, लेकिन पुराने OS पर अपग्रेड करना बेहद उचित है। (PS4 में बहुत सी अन्य अच्छी चीजें भी हैं।)
jpmc26

एक प्रमुख चेतावनी: fcivयूनीकोड ​​वर्ण वाले फ़ाइलनाम के लिए विफल रहता है।
वारबीस

18

कोई अंतर्निहित उपकरण नहीं।

मैं HashCheck शेल एक्सटेंशन का उपयोग करता हूं :

वैकल्पिक शब्द


यह मेरा पसंदीदा है क्योंकि यह एक कर्नेल एक्सटेंशन है (डननो अगर वे अभी भी उस शब्दावली का उपयोग करते हैं)। वर्षों से इसका उपयोग कर रहे हैं।
डेविड काउडेन

इसके साथ SHA-256 हैश पाने का कोई तरीका?
अधिकतम

@DavidCowden: कर्नेल एक्सटेंशन के रूप में इस तरह की सुविधा को लागू करने का क्या लाभ है, जो केवल यूजर्सस्पेस पर काम करने वाले एप्लिकेशन की तुलना में है। क्या यह संभावित रूप से अस्थिर ओएस नहीं है?
इसहाक

@ आइसाक आई मिस बोला। पुराने विंडोज शब्दों में यह एक शेल एक्सटेंशन है , न कि कर्नेल एक्सटेंशन। लाभ यह है कि यह विंडोज़ एक्सप्लोरर में ui सही जोड़ता है ताकि आप कर सकें, जैसा कि छवि दिखाती है, चेकसम को देखें और फ़ाइल के गुणों की विंडो में राइट करें। यह बहुत साफ है!
डेविड काउडन

11

यह बिल्कुल बिल्ट-इन नहीं है, लेकिन कम से कम आपको इसे काम करने के लिए कोई नया सॉफ्टवेयर डाउनलोड करने की आवश्यकता नहीं है। आप MD5sum फ़ाइलों की गणना करने के लिए एक पॉवरशेल स्क्रिप्ट बना सकते हैं। वास्तविक स्क्रिप्ट यहां पाई जा सकती है:

http://www.ahmadsoft.org/powershelljunkie/index.html

उस टेक्स्ट को "ps-md5sum.ps1" नामक फ़ाइल में कॉपी करें और इसे कहीं सहेजें। जब आपको किसी फ़ाइल के हैश की गणना करने की आवश्यकता होती है, तो उस फ़ाइल की निर्देशिका में PowerShell खोलें जिसे आपको जांचने की आवश्यकता है, और इसे चलाएं:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

और उसे उस फाइल का हैश लौटना चाहिए।


जो Pruitt की यह PS1 स्क्रिप्ट UNIX md5 व्यवहार का अनुकरण करती है: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/…
ब्रायन रेइटर




4

पहले से ही पोस्ट किए गए सभी शानदार विकल्पों के अलावा, वहाँ भी है md5deep / हैशदीप , विंडोज के लिए एक खुला स्रोत हैश गणना सूट (लेकिन इसका उपयोग * निक्स और ओएस एक्स सिस्टम में भी किया जा सकता है) जो समर्थन करता है:

  • MD5
  • SHA-1
  • SHA-256
  • बाघ
  • व्हर्लपूल

Md5deep / हैशदीप के कुछ फायदे:

  • यह ओपन सोर्स और क्रॉस-प्लेटफॉर्म है।
  • यह कमांड-लाइन से चलता है और इसका इस्तेमाल स्क्रिप्टिंग के लिए किया जा सकता है।
  • इसने 32-बिट और 64-बिट सिस्टम दोनों के लिए बायनेरिज़ को अनुकूलित किया है।
  • यह आधुनिक हैशिंग एल्गोरिदम का समर्थन करता है (एमडी 5 और एसएचए -1 दोनों फ़ाइल अखंडता और डिजिटल हस्ताक्षर को सत्यापित करने के लिए इस बिंदु पर टूट गए हैं क्योंकि एमडी 5 के लिए पहले से ही सापेक्ष सहजता के साथ टकराव का उत्पादन किया जा सकता है और एसएचए -1 टकराव संभावना के दायरे में तेजी से बढ़ रहे हैं )।
  • यह एक पूरी निर्देशिका के लिए पुनरावर्ती चेकसम उत्पन्न कर सकता है।
  • यह निर्देशिका की त्वरित ऑडिट (अज्ञात फ़ाइलों या फ़ाइलों को बदल दिया गया है) की त्वरित ऑडिट करने के लिए चेकसम की पहले से बनाई गई सूची के खिलाफ एक फ़ाइल या निर्देशिका का परीक्षण कर सकता है।

विंडोज में इसका उपयोग करने के लिए, आप या तो इसे सिगविन में स्थापित कर सकते हैं या आप बस अपने %PATH%वेरिएबल में md5deep डायरेक्टरी को शामिल कर सकते हैं । हालांकि मैं व्यक्तिगत रूप से निम्नलिखित सेटअप को पसंद करता हूं:

  1. सभी फ़ाइलों को कहीं बाहर निकालें, जैसे

    %ProgramFiles%\md5deep

  2. अपनी विंडोज़ निर्देशिका में बैच फ़ाइलों का एक सेट बनाएँ, जैसे

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. उपयुक्त बायनेरिज़ के लिए पथ शामिल करें, जैसे

    में md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(64-बिट सिस्टम)
    "%ProgramFiles%\md5deep\md5deep.exe" %*(32-बिट सिस्टम)

    में hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(64-बिट सिस्टम)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*(32-बिट सिस्टम)
    ...

या यदि आप वाह -64 के लिए 32-बिट और 64-बिट बायनेरिज़ के बीच स्वचालित रूप से स्विच करना चाहते हैं, तो आप 32-बिट बायनेरिज़ %ProgramFiles(x86)%और 64-बिट वाले को अंदर रख सकते हैं %ProgramW6432%, और फिर अपनी बैच फ़ाइलों को इस तरह लिख सकते हैं:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.