क्या फ़ाइल का नाम बदलने से किसी फ़ाइल का MD5 हैश प्रभावित होगा?


89

क्या फ़ाइल का नाम बदलने से किसी फ़ाइल का MD5 हैश प्रभावित होगा?

जवाबों:


31

केवल तभी फ़ाइल का नाम हैश गणना में शामिल किया गया था। जैसे, छद्म कोड में:

$hash1 = md5(contents of file);
$hash2 = md5(name of file + contents of file);

दो अलग-अलग हैश का उत्पादन करेगा।


20
सवाल CLI उपकरण "md5sum" के बारे में पूछ रहा है, सामान्य रूप से एल्गोरिथ्म नहीं।
जम्फिशर

206

नहीं, हैश केवल फ़ाइल सामग्री का है। आप में देख सकते हैं के लिए स्रोतmd5sum और इसके MD5 कार्यान्वयन । यदि आपके पास इसकी पहुंच है, तो आप इसका परीक्षण भी कर सकते हैं md5sum:

$ echo "some arbitrary content" > file1
$ cp file1 file2
$ md5sum file1
f0007cbddd79de02179de7de12bec4e6  file1
$ md5sum file2
f0007cbddd79de02179de7de12bec4e6  file2
$

18
इसका उत्तर होना चाहिए। प्रश्न "md5sum" टैग किया गया है।
पहुंचें

3
सीधे उत्तर के लिए धन्यवाद।
एडी बी

उत्तम! मेरे पास कोशिश करने के लिए लिनक्स नहीं था। लेकिन मेरे पास Stackoverflow :)
Faizan

यह जानने के लिए आपको लिनक्स का उपयोग करने की आवश्यकता नहीं है। आप MacOSX या विंडोज पर एक ही परिणाम का उत्पादन कर सकते हैं।
एलेक्जेंडर मुलतिनहो

1
मामले में किसी को भी @alexandreMulatinho की तरह खिड़कियों के बराबर की तलाश है: md5sum को कॉपी के साथ fciv और cp से बदलें, और यह ठीक उसी तरह काम करता है। यदि आप तब लिनक्स के लिए विंडोज़ सबसिस्टम में प्रवेश करते हैं, तो md5sum हैश fciv वालों से मेल खाता है।
जेक स्टीवंस-हास

4

EXT फाइल सिस्टम का उपयोग करके लिनक्स में, यह नहीं होगा, क्योंकि एक फ़ाइल का नाम किसी फ़ाइल में संग्रहीत नहीं है, यह निर्देशिका प्रविष्टि (डेंट्री) में संग्रहीत होता है जो फ़ाइल में रहती है, जहां फ़ाइल के इनोड को फिर एक नाम पर मैप किया जाता है। लिनक्स में इसके md5sum पर फ़ाइल नाम बदलने का कोई प्रभाव नहीं पड़ेगा। विंडोज में, मुझे यकीन नहीं हो रहा है।


3
इसके अलावा विंडोज फाइल सिस्टम फाइल में फाइलनाम को स्टोर नहीं करता है। उम्मीद के अनुसार एक सीधा बंदरगाह md5sumव्यवहार करना चाहिए।
मौगंरा

1

यदि हैश फ़ाइल सामग्री से गणना की जाती है, तो उसे नहीं करना चाहिए।


4
सवाल CLI उपकरण "md5sum" के बारे में पूछ रहा है, सामान्य रूप से एल्गोरिथ्म नहीं।
जम्फिशर

0

एक ही सामग्री पर ESXi (सटीक रूप से ESXi 5.5) md5sum में लेकिन अलग-अलग फ़ाइल नाम अलग-अलग हैं। मुझे विश्वास है कि VMFS-5 फ़ाइल संरचना में फ़ाइल नाम भी शामिल है। यदि हम फ़ाइल नाम के बारे में चिंतित नहीं हैं, तो क्या फ़ाइल सामग्री के केवल md5sum की जांच करने का कोई तरीका है? मैं कोई विकल्प नहीं देख सकता था। कोई सुझाव?


आप किन फाइलों के बारे में बात कर रहे हैं? आभासी डिस्क चित्र ( .vmdk)? Vmdk हेडर में ऐसे डेटा होते हैं जो फ़ाइल नाम और स्थान पर निर्भर कर सकते हैं। आपने अपने परीक्षण में फ़ाइलों का नाम कैसे बदला? --- अन्यथा फ़ाइल सामग्री के दृष्टिकोण से VMFS एक सामान्य फ़ाइल सिस्टम है और फ़ाइलों की सामग्री सीधे उनके नामों पर निर्भर नहीं करती है।
पाबौक

-1

टिप्पणी के जवाब में, https://stackoverflow.com/a/14360831/9392847 :

यह तभी काम करता है जब एक फाइल दूसरी फाइल की कॉपी हो लेकिन तब नहीं जब अलग-अलग नामों वाली दो अलग-अलग फाइलें बिलकुल एक ही कंटेंट के साथ जेनरेट होती हैं। मैंने यह कोशिश की है:

nancy@nancy:~/Documents$ md5sum /home/nancy/Documents/1test.pdf
c5a445b7186dfb220ea79d2001acf3f1  /home/nancy/Documents/1test.pdf
nancy@nancy:~/Documents$ md5sum /home/nancy/Documents/2test.pdf
cefa063abf0c0a9e80b2b75e70100836  /home/nancy/Documents/2test.pdf

1test.pdf और 2test.pdf दोनों फाइलें जिम्प सॉफ्टवेयर का उपयोग करके बनाई गई हैं । समान सामग्री दो अलग-अलग नामों से दो बार निर्यात की जाती है।


इसका मतलब है कि फ़ाइल सामग्री बिल्कुल समान नहीं हैं ... कार्यक्रम को प्रत्येक में अलग मेटा-डेटा निर्यात करना होगा
मिलनी

-2

1.md5 की गणना FILE के बाइनरी कंटेंट के आधार पर की जाती है। 2. सही नाम, अंतिम संशोधित आदि चीजें मेटा डेटा हैं। मेटा 5 वास्तव में मेटा-डेटा पर भरोसा नहीं करता है। मैंने इसे नीचे दिए गए चरणों के साथ परीक्षण किया है, "अंतिम संशोधित" मेटा-डेटा के साथ काम करने देता है) मैंने "a.txt" नाम की एक फ़ाइल बनाई है और कुछ सामग्री जोड़ी है और एक हैश बनाया है हैश है "xyz" ii) तब मेरे पास है बस फ़ाइल में एक स्थान जोड़ा है और फिर से हैश की गणना की है यह "abc" iii लौटाया है) मैंने अभी अपना परिवर्तन चरण (ii) में हटा दिया है, हैश की गणना करने पर मुझे फिर से प्रारंभिक हैश ("xyz") मिला है

यह निष्कर्ष निकालता है कि भले ही फ़ाइल का मेटाडेटा बदल दिया गया हो, हैश तब तक एक ही रहता है जब तक फ़ाइल सामग्री अनलक्ड नहीं रहती है।

आशा करता हूँ की ये काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.