Zip klasörüm neden parolayla kilitlenmedi ama içindeki dosyalar kilitlendi?
Birkaç saattir bir zip klasörüne şifre koymaya çalışıyorum. Ancak, birçok kez farklı kodla denedim, şifre zip klasörünün içindeki her dosyaya uygulanıyor ve istediğim bu değil. Yalnızca parolayı klasörün kendisine uygulamak istiyorum ve içindeki dosyalar için parola ayarlanmamalıdır.
İşte kodum: (Bilginiz için DotNetZip kullanıyorum)
//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
}
Ancak, bu programı çalıştırdığımda, adlı bir zip klasörü oluşturuyor FinalResult.zip
, ancak bu zip klasörü parola korumalı değil. Bu zip klasöründeki tüm dosyalar parola korumalıdır. Bu durumda, kullanıcının içindeki bir dosyayı açmaya çalıştığı her seferinde şifreyi girmesi gerekecektir, bu da biraz uygunsuzdur. Kullanıcının, zip klasörünü açmaya çalıştıklarında şifreyi yalnızca bir kez girmesini istiyorum. Biri bana bu kodun ulaşmak istediğimi neden yapmadığını söyleyebilir mi?
Yanıtlar
Parola aslında doğru çalışıyor:
Bir zip arşivi yazarken, bu parola zip arşivinin kendisine değil girişlere uygulanır. Daha sonra ZipFile'a AddFile, AddDirectory, AddEntry veya AddItem yöntemlerinden biri kullanılarak eklenen herhangi bir ZipEntry için geçerlidir. ZipFile sınıfında.
Password
DotNetZip için belgelerdeki açıklamalar bölümüne bakın
https://documentation.help/DotNetZip/4444d7a5-3324-8af9-3ed3-5bf6551d3cd1.htm