gpt4 book ai didi

c# - DotNetZip 真的使用 WinZipAes256 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:01:31 25 4
gpt4 key购买 nike

我正在使用 dotnetzip 创建一些带有 AES 密码的 zip 文件喜欢:

 using (ZipFile zip = new ZipFile())
{
zip.Password = PASS;
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.AddFile("test.txt");
zip.Save("test.zip");
}

在此之后我注意到读取文件时没有指定它正在工作的算法没问题

 using (ZipFile zip = ZipFile.Read("test.zip")
{
zip.Password = PASS;
// zip.Encryption = EncryptionAlgorithm.WinZipAes256;
foreach (ZipEntry e in zip)
{
e.Extract(@"C:\tmp\");
}
}

然后在某些情况下,提取会产生一些不可读的文件,但并非总是如此;在不指定算法的情况下,大多数时间都是完全可读的。

现在基于他们的 wiki:

Create a Zip archive that uses WinZip-compatible AES encryption. Answering concerns that the
standard password protection supported by all zip tools is weak, WinZip has extended the ZIP specification and added a way to use AES Encryption to protect entries in the Zip file.

但是不明白这是不是真的AES 256加密。

无论如何指定算法,它将只提取可读文件,因此文件肯定是可读的,现在我担心的是安全性。

编辑确保在提取之前指定密码算法,否则文件将无法始终读取!

最佳答案

zip 条目确实使用 AES256。在 dotnetzip 库的源代码中,您可以看到实际使用的加密算法是从字节内容本身提取的。这就是为什么您在提取时不需要分配正确的算法。 (只是密码)

源代码填充变量_Encryption_FromZipFile:dotnetzip source

关于c# - DotNetZip 真的使用 WinZipAes256 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27676525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com