Leider gibt es keine solche Funktionalität im Framework. Es gibt eine Möglichkeit, ZIP-Dateien zu erstellen, aber ohne Passwort. Wenn Sie kennwortgeschützte ZIP-Dateien in C# erstellen möchten, empfehle ich SevenZipSharp. Es ist im Grunde ein Managed Wrapper für 7-Zip.
SevenZipBase.SetLibraryPath(Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? Environment.CurrentDirectory,
"7za.dll"));
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.Compressing += Compressor_Compressing;
compressor.FileCompressionStarted += Compressor_FileCompressionStarted;
compressor.CompressionFinished += Compressor_CompressionFinished;
string password = @"whatever";
string destinationFile = @"C:\Temp\whatever.zip";
string[] sourceFiles = Directory.GetFiles(@"C:\Temp\YourFiles\");
if (String.IsNullOrWhiteSpace(password))
{
compressor.CompressFiles(destinationFile, sourceFiles);
}
else
{
//optional
compressor.EncryptHeaders = true;
compressor.CompressFilesEncrypted(destinationFile, password, sourceFiles);
}
Im Allgemeinen, wenn die Funktionalität von System.IO.Compression.GZipStream ist nicht genug für Sie - es https://sevenzipsharp.codeplex.com Rahmen ist, die viel komplexer ist. Innerhalb des .net-Frameworks ist GZipStream die einzige Möglichkeit, Archive zu erstellen. – VitaliyK
@VitaliyK Ich würde auch empfehlen 7Zip #, aber es gibt ein paar andere Kompressionsmechanismen im Rahmen neben 'GZipStream' (zB' DeflateStream', 'ZipPackage',' ZipFile' (seit 4.5) etc.) –
@VitaliyK tut gzipstream hat Passwortfunktion? Ich habe keine Passwort-Funktionalität gefunden. –