Password zip is inconsisent
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne mit der bereitgestellten CreateBackup-Methode, insbesondere mit ZipOutputStream.Password und AESKeySize, und reproduziere mit 7zip das Verhalten bei Passwörtern mit 98 beziehungsweise 99 Zeichen. Vergleiche das Verhalten der erzeugten Archive und stelle fest, ob lange Passwörter funktionieren sollten; abgeschlossen ist die Aufgabe, wenn das Verhalten reproduzierbar ist und das Ergebnis behoben oder eindeutig dokumentiert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
Only passwords with length up to 98 seem to work, if i use 99 and i even copy/paste the password directly unzipping the archive using 7zip does not work. how come?
Seems a bit random and not sure if it would be safe for db backups in this case.
private static async Task CreateBackup(string zipFile, string pgDumpArgs)
{
ProcessStartInfo processInfo = new()
{
FileName = @"C:\Program Files\PostgreSQL\16\bin\pg_dump.exe",
Arguments = pgDumpArgs,
RedirectStandardOutput = true,
RedirectStandardError = true, // Capture error output
UseShellExecute = false,
CreateNoWindow = true
};
using Process process = Process.Start(processInfo);
if (process == null)
{
Console.WriteLine("Failed to start pg_dump process.");
return;
}
using (FileStream fsOut = File.Create(zipFile))
using (ZipOutputStream zipStream = new(fsOut))
{
zipStream.SetLevel(3); // 0-9, 9 being the highest level of compression
zipStream.Password = "z4KpjH+}H9H*g3K3Jb-9}M^jnMN^-!Zs+8UZ3sfxWg5T~@ZHJ:Eoz!AFNMwdf!g_2QpX#)}4WKwHLL%C?s1BB*wx%:cia0j=m7.W";
zipStream.UseZip64 = UseZip64.On; // Set to AsNeeded if you need Zip64
ZipEntry newEntry = new ZipEntry($"backup_{DateTime.Now:yyyyMMdd_HHmmss}.backup")
{
DateTime = DateTime.Now,
AESKeySize = 256 // AES-256 encryption
};
zipStream.PutNextEntry(newEntry);
var outputTask = process.StandardOutput.BaseStream.CopyToAsync(zipStream);
var errorTask = process.StandardError.ReadToEndAsync();
await Task.WhenAll(outputTask, errorTask);
zipStream.CloseEntry();
string errorOutput = await errorTask;
if (!string.IsNullOrEmpty(errorOutput))
{
Console.WriteLine($"pg_dump reported the following errors:\n{errorOutput}");
}
}
await process.WaitForExitAsync();
if (process.ExitCode != 0)
{
Console.WriteLine($"pg_dump failed with exit code {process.ExitCode}");
}
else
{
Console.WriteLine($"{zipFile} Database backup successfully completed.");
}
}
Reproduction Code
No response
Steps to reproduce
zip zip
Expected behavior
work
Operating System
Windows
Framework Version
Other
Tags
No response
Additional context
No response
- Vorherrschende Sprache
- C#
- Sterne
- 3.9k
- Forks
- 1k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus icsharpcode/SharpZipLib
-
*no response* bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
icsharpcode/SharpZipLib#905 · 1 Kommentar ·
-
bug bzip2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
icsharpcode/SharpZipLib#904 ·
-
SetLevel in ZipFileOffenenhancement zip
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 55/100
icsharpcode/SharpZipLib#903 ·
-
*no response* bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 32/100
icsharpcode/SharpZipLib#901 · 1 Kommentar ·
-
*no response* bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
icsharpcode/SharpZipLib#894 · 1 Kommentar ·
Alle Issues in icsharpcode/SharpZipLib
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
SubtitleEdit/subtitleedit#15462 ·
Maintainer antworten meist innerhalb von 1 Tag
-
:watch: Not Triaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
comp:instrumentation.aspnetcore
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
open-telemetry/opentelemetry-dotnet-contrib#5427 ·
Maintainer antworten meist innerhalb von 1 Tag
-
design-proposal
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
dotnet/aspnetcore#69592 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Client Container Registry customer-reported needs-team-attention question Service Attention
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Azure/azure-sdk-for-net#63470 · 3 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag