फ़ाइल नामों के लिए एन्क्रिप्शन के साथ जिप डायरेक्टरी कैसे करें?


17

कमांड लाइन का उपयोग करना, मुझे पता है कि मैं निम्नलिखित कमांड के साथ एक निर्देशिका को एन्क्रिप्ट कर सकता हूं:

zip -er Directory.zip /path/to/directory

हालाँकि, यह फ़ाइल नाम को स्वयं एन्क्रिप्ट नहीं करता है। अगर कोई चलाता है:

unzip Directory.zip

और बार-बार एक गलत पासवर्ड दर्ज करता है, अनज़िप कमांड निहित फ़ाइलनामों के माध्यम से लूप करेगा जब तक कि सही पासवर्ड दर्ज नहीं किया जाता है। नमूना उत्पादन:

unzip Directory.zip 
Archive:  Directory.zip
   creating: Directory/
[Directory.zip] Directory/sensitive-file-name-1 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-1  incorrect password
[Directory.zip] Directory/sensitive-file-name-2 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-2  incorrect password
[Directory.zip] Directory/sensitive-file-name-3 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-3  incorrect password

और इसी तरह।

कमांड लाइन का उपयोग करना, क्या किसी निर्देशिका को एन्क्रिप्शन के साथ ज़िप करने का एक तरीका है, जबकि स्वयं फ़ाइलनाम को एन्क्रिप्ट या छिपाते हुए?

धन्यवाद।


आप शायद ज़िप के डिफ़ॉल्ट एन्क्रिप्शन का उपयोग नहीं करना चाहते हैं 7zipक्योंकि यह कमजोर है इसलिए उपयोग करें क्योंकि यह एईएस आधारित एन्क्रिप्शन का उपयोग करता है।
पियरज़

जिप का डिफ़ॉल्ट एन्क्रिप्शन क्या है, और ज़िप के डिफ़ॉल्ट एन्क्रिप्शन को असुरक्षित बनाने के लिए आपका स्रोत क्या है?
लियो गैलगिलोस

1
अधिकांश ज़िप उपकरण (कुछ नए ज़िप उपकरण हैं जो बेहतर क्रिप्टो का उपयोग करते हैं) अभी भी PKZIP स्ट्रीम सिफर का उपयोग करते हैं जो पहली बार 1994 में कमजोर दिखाया गया था: rd.springer.com/content/pdf/10.1007%2n3-540-60590-8_12 .pdf विकिपीडिया पेज एक मूल अवलोकन देता है: en.wikipedia.org/wiki/Zip_(file_format)#Enc
एन्क्रिप्शन

जवाबों:


26

ज़िप फ़ाइल में, केवल फ़ाइल सामग्री एन्क्रिप्ट की गई है। फ़ाइल नामों सहित फ़ाइल मेटाडेटा एन्क्रिप्ट नहीं किया गया है। यह फ़ाइल स्वरूप की एक सीमा है: प्रत्येक प्रविष्टि अलग से संपीड़ित होती है, और यदि एन्क्रिप्ट की जाती है, तो अलग से एन्क्रिप्ट की जाती है।

आप इसके बजाय 7-ज़िप का उपयोग कर सकते हैं । यह मेटाडेटा एन्क्रिप्शन ( -mhe=onलिनक्स कमांड लाइन कार्यान्वयन के साथ) का समर्थन करता है ।

7z a -p -mhe=on Directory.7z /path/to/directory

सभी प्रमुख ऑपरेटिंग सिस्टम और अधिकांश नाबालिगों के लिए 7zip कार्यान्वयन हैं, लेकिन इसके लिए अतिरिक्त सॉफ़्टवेयर स्थापित करने की आवश्यकता हो सकती है (IIRC Windows इन दिनों बॉक्स से एन्क्रिप्टेड ज़िप फ़ाइलों को अनज़िप कर सकता है)। यदि डिक्रिप्शन के लिए 7z की आवश्यकता होती है, तो आप केवल एक फाइल में डायरेक्टरी को पैक करने के लिए इसका उपयोग करके पहले जिप पर भरोसा कर सकते हैं, और फिर उस फाइल को एन्क्रिप्ट कर सकते हैं। यदि आप ऐसा करते हैं, तो अलग-अलग फ़ाइलों के कंप्रेशन को बंद करें और ज़िप फ़ाइल को कंप्रेस करने के लिए बाहरी ज़िप को निर्देश दें, आपको समग्र रूप से बेहतर संपीड़न अनुपात मिलेगा।

zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip

1
एन्क्रिप्ट करने के लिए ज़िप का उपयोग करने से बचने के लिए संभवतः सबसे अच्छा - एक 7zip का उपयोग दूसरी पंक्ति में अधिक सुरक्षित रूप से एन्क्रिप्टेड (एईएस) ज़िपफाइल बनाने के लिए कर सकते हैं:7z a -p -tzip encrypted.zip Directory.zip
पियरज़

2

आप अपने पसंदीदा टूल का उपयोग करके एक आर्काइव बना सकते हैं और फिर bcryptएन्क्रिप्शन / डिक्रिप्शन करने के लिए उपयोग कर सकते हैं।

ए) एक एन्क्रिप्टेड फ़ाइल बनाने के लिए:

tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz

यह आपको ब्लोफिश-एनक्रिप्टेड फाइल देगा Directory.tgz

बी) इस प्रक्रिया को उलटने के लिए:

bcrypt Directory.tgz.bfe
tar -xf Directory.tgz

2
दृष्टिकोण अच्छा है, लेकिन आपको एन्क्रिप्शन के लिए एक और उपकरण का उपयोग करना चाहिए - bcryptईबीसी का उपयोग करता है जो एन्क्रिप्ट किए गए डेटा में संरचना का खुलासा करता है। देखें डेबियन बग # 700,758 जानकारी के लिए (डेबियन के bcryptएक परिणाम के रूप केवल समर्थन करता है डिक्रिप्शन)।
स्टीफन किट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.