2012-10-31 7 views
23

Microsoft는 System.IO.Compression 네임 스페이스의 .NET 4.5에서 ZIP 파일 처리 개선 사항을 도입했습니다. 즉, 클래스 ZipArchiveZipFile입니다. 그러나 암호로 보호 된 파일에 네이티브 .NET ZIP 파일 처리를 사용하는 방법을 아직 보지 못했습니다. 이것을 달성 할 수있는 방법이 있습니까? (꽤 좋은 타사 ZIP 파일 라이브러리가 있다는 것은 알고 있습니다.).NET 4.5로 암호로 보호 된 ZIP 파일 압축 해제

+1

DotNetZip Library에서 보셨나요? 여기에 링크가 있고 예제가 많이 있습니다. http://dotnetzip.codeplex.com/wikipage?title=CS-Examples&referringTitle=Examples – MethodMan

+0

좋은 질문 바로 당신이 찾고있는 것을 위해! –

답변

16

불행히도. .Net Framework 4.5에는 암호로 보호 된 zip 파일에 대한 지원이 없습니다. 이 경우 잘 알려진 타사 라이브러리 중 하나로 전환해야합니다.

4

4.5 프레임 워크에서 제공하는 methods에서 zip 파일과 함께 비밀번호를 허용하는 방법은 없습니다. 귀하의 질문에 언급 된 바와 같이 타사가 최선의 방법이 될 것입니다.

8

마찬가지로 지적하면 DotNetZip은 (는) 친구입니다. 당신의 zip 파일을 풀기 것은 쉽게 내 경험에

using (ZipFile archive = new ZipFile(@"c:\path\to\your\password\protected\archive.zip",)) 
{ 
    archive.Password = "your-pass-word-here" ; 
    archive.Encryption = EncryptionAlgorithm.PkzipWeak ; // the default: you might need to select the proper value here 
    archive.StatusMessageTextWriter = Console.Out; 

    archive.ExtractAll(@"c:\path\to\unzip\directory\", ExtractExistingFileAction.Throw) ; 
} 

로, DotNetZip 최대한 빨리 unzip 소스 공개 Info-Zip's 등의 유틸리티에 대한 실행하고 메모리의 거의 같은 양을 사용합니다.

3

네이티브 .net 4.5 라이브러리에 암호로 보호 된 zip 파일에 대한 지원이없는 것으로 나타났습니다. Windows 탐색기에서도 지원되지 않는 것과 유사합니다. 일부 사용자는 타사 DotNetLib을 사용하여 zip 손상 문제가 있다고보고 했으므로 해당 경로로 이동했는지 광범위하게 테스트했는지 확인하거나 SharpZipLib을 시도하십시오.

관련 문제