2008-12-04 17 views
9

मुझे लगता है मैं पिन 2.0 एन्क्रिप्शन का उपयोग नहीं कर सकते हैं encryption suitable for use by the US Federal Government के साथ एक ज़िप संपीड़न और एन्क्रिप्शन घटक खोजने की कोशिश कर रही है, इसलिए, यह एईएस या की तरह हो गया है। मुझे पहले से ही SharpZipLib (एईएस एनक्रिप्शन नहीं कर सकता), और Chilkat (एईएस एन्क्रिप्शन कर सकते हैं, लेकिन पैसे खर्च करते हैं)। क्या मुझे कोई अन्य विकल्प याद आ रहा है?एईएस एन्क्रिप्शन के साथ ज़िप करने के लिए एक सस्ते/मुफ्त .NET लाइब्रेरी के लिए सुझाव?

उत्तर

10

आप कितना DotNetZip में एईएस के लिए भुगतान करने के इच्छुक हो सकता है? ;)

DotNetZip 128 या 256-बिट कुंजी के साथ, एईएस एन्क्रिप्शन का समर्थन करता है।

http://www.codeplex.com/DotNetZip

उदाहरण कोड:

using (ZipFile zip = new ZipFile()) 
    { 
    zip.AddFile("ReadMe.txt"); // no password for this entry 

    // use a password for subsequent entries 
    zip.Password= "This.Encryption.is.FIPS.197.Compliant!"; 
    zip.Encryption= EncryptionAlgorithm.WinZipAes256; 
    zip.AddFile("Rawdata-2008-12-18.csv"); 
    zip.Save("Backup-AES-Encrypted.zip"); 
    } 

एईएस एन्क्रिप्टेड ज़िप DotNetZip द्वारा उत्पादित फ़ाइलों को पढ़ने जा सकता है और WinZip द्वारा निकाले, और उपाध्यक्ष प्रतिकूल।

आप एन्क्रिप्शन के बिना नियमित ज़िप फ़ाइलों को भी बना सकते हैं।

ओह, और यह मुफ़्त है।

+0

क्या आपके पास से कोई भी यह देखने का एक तरीका है कि एन्क्रिप्ट करने के लिए किस विधि का उपयोग किया गया था पुरालेख? यदि मैं WinZip के साथ जेनरेट किया गया संग्रह खोलता हूं तो मुझे लगता है कि यह वास्तव में एन्क्रिप्ट किया गया है, लेकिन मेरे पास एल्गोरिदम (Zip2.0, AES128, AES256, आदि) के साथ कहने का कोई तरीका नहीं है। – WowtaH

+0

डॉटनेट जैप आपको ज़िप फ़ाइल के साथ बताएगा। आपके द्वारा पढ़ी गई ज़िप फ़ाइल पर एन्क्रिप्शन प्रॉपर्टी। मुझे नहीं पता कि WinZip के साथ इसे कैसे किया जाए। – Cheeso

+1

मैं इस पुस्तकालय के बारे में बहुत उत्साहित था, हालांकि हमें प्रमाणित क्रिप्टो प्रदाताओं जैसे कि 'एस्क्रिप्टो सेवा प्रदाता' के रूप में प्रबंधित समकक्ष 'एस्मानेड' बनाम उपयोग करने की आवश्यकता है। मुझे लगता है कि DotNetZip .NET 2 :( –

6

पैसा एक बड़ा मुद्दा है, तो आप इस http://www.codeplex.com/DotNetZip की तरह एक खुला स्रोत पुस्तकालय है, जो अब एईएस समर्थन

+0

अपडेट: एईएस अब डॉटनेटजिप में समर्थित है। http://DotNetZip.codeplex.com/ – Cheeso

+0

खाते में अपडेट करने के लिए संपादित –

6

क्या 7-Zip के बारे में है ले सकता है? यह एलजीपीएल के तहत खुला स्रोत है (इसलिए आपकी परियोजना में प्रयोग योग्य होना चाहिए) और spec के अनुसार यह एईएस एन्क्रिप्शन के साथ ज़िप का समर्थन करता है।

+0

मुझे 7-ज़िप पसंद है, लेकिन इसे या तो एक प्रक्रिया लॉन्च करने की आवश्यकता है (इसे कमांड लाइन से चलाने के लिए) या COM/अप्रबंधित कोड इंटरऑप। – MatthewMartin

+1

दरअसल, उनके पास एलजेएमएमए एसडीके है जो अब इसका उपयोग करने के लिए सी # कोड है: http://www.7-zip.org/sdk.html –

1

Stream Pipeline पर इस भयानक लेख चेक बाहर। यह न केवल मल्टीथ्रेडेड फैशन में धाराओं को एक दूसरे से जोड़ने के लिए एक शानदार तरीका परिभाषित करता है, उदाहरण का उपयोग संपीड़न के बाद एन्क्रिप्शन होता है।

+0

लिंक अब टूटा हुआ है, लेख फरवरी 2008 में प्रतीत होता है एमएसडीएन मुद्दा, कॉलम ".NET मामलों: स्ट्रीम पाइपलाइन"। http://download.microsoft.com/download/3/A/7/3A7FA450-1F33-41F7-9E6D-3AA95B5A6AEA/MSDNMagazineFebarat2008en-us.chm –

1

आप #ZipLib (https://icsharpcode.github.io/SharpZipLib/) है, जो DotNetZipLib को एक हल्के विकल्प है उपयोग कर सकते हैं।

यह FastZip वर्ग है, जो कोड के 2-3 लाइनों के लिए एईएस एन्क्रिप्शन के साथ HDD पर एक फ़ोल्डर के संपीड़न कम कर देता है प्रदान करता है।

संदर्भ के लिए विकी देखें: https://github.com/icsharpcode/SharpZipLib/wiki/FastZip

आप और अधिक सुविधाओं की जरूरत है, #ZipLib थोड़ा अधिक DotNetZipLib से जटिल हो जाता है, लेकिन मेरे मामले में बाद बनाई गई भ्रष्ट ज़िप फ़ाइलें, तो मैं वैसे भी SharpZipLib का उपयोग करें।

संबंधित मुद्दे

 संबंधित मुद्दे