내 zip 폴더가 암호로 잠겨 있지 않지만 내부 파일이 잠겨있는 이유는 무엇입니까?
나는 zip 폴더에 암호를 설정하려고 몇 시간 동안 어려움을 겪고 있습니다. 그러나 다른 코드로 여러 번 시도했지만 암호는 zip 폴더 내의 각 파일에 적용되며 내가 원하는 것은 아닙니다. 폴더 자체에만 비밀번호를 적용하고 싶고 내부의 개별 파일에는 비밀번호를 설정하지 않아야합니다.
내 코드는 다음과 같습니다. (참고로 DotNetZip을 사용하고 있습니다)
//Assume that there is a folder with multiple files in it at C:\\ExampleFolder
using (Ionic.Zip.ZipFile z = Ionic.Zip.ZipFile())
{
z.Password = "MyPassword"; //Setting the password
z.AddDirectory(@"C:\\ExampleFolder"); //I thought the directory added here should be pw-protected
z.Save(@"C:\\FinalResult.zip"); //Create the pw-protected zip folder
}
그러나이 프로그램을 실행하면라는 zip 폴더가 생성 FinalResult.zip
되지만 해당 zip 폴더는 비밀번호로 보호되지 않습니다. 해당 zip 폴더 내의 모든 파일은 암호로 보호됩니다. 이 경우 사용자는 내부 파일을 열려고 할 때마다 비밀번호를 입력해야하므로 불편합니다. 사용자가 zip 폴더를 열려고 할 때 암호를 한 번만 입력하면되기를 원합니다. 누구든지이 코드가 내가 원하는 것을 수행하지 않는 이유를 말해 줄 수 있습니까?
답변
암호는 실제로 올바르게 작동합니다.
zip 아카이브를 작성할 때이 비밀번호는 zip 아카이브 자체가 아닌 항목에 적용됩니다. AddFile, AddDirectory, AddEntry 또는 AddItem 메서드 등을 사용하여 ZipFile에 이후에 추가되는 모든 ZipEntry에 적용됩니다. zip 아카이브를 읽을 때이 속성은 Extract 메서드 중 하나를 사용하여 ZipFile에서 추출 된 모든 항목에 적용됩니다. ZipFile 클래스에서.
Password
DotNetZip 에 대한 설명서의 비고 섹션을 참조하십시오.
https://documentation.help/DotNetZip/4444d7a5-3324-8af9-3ed3-5bf6551d3cd1.htm