用于加密zip的AesCryptoServiceProvider无法解密

问题描述:

已经使用AesCryptoServiceProvider用密码加密zip文件。 但生成zip文件后,无法用相同密码的winzip或winrar进行解密。用于加密zip的AesCryptoServiceProvider无法解密

任何人都可以提出什么问题? winzip是不是可以解密AesCryptoServiceProvider加密的?

如果是这样的话,.NET 4.5中的winzip支持的加密类是什么?

+1

我不知道你做了什么,但我确信你没有做正确的事情。加密的zip文件不是您完全加密的zip文件...它是包含加密压缩文件的zip文件“容器”。所以它是被加密的包含的压缩文件。包含的内容是加密的,而不是容器。 – xanatos

+0

你是如何加密文件的? 'AesCryptoServiceProvider'实现普通的AES。它不支持密码,它当然不使用加密的zip格式。 – CodesInChaos

+0

是的xanatos你是正确的提及,在一个zip文件得到加密......我们都知道 – NeerajM

像xanatos的评论正确指出,你不能以你打算的方式做到这一点。我个人发现DotNetZip是您的问题的一个很好的解决方案。

From their website

你为什么要产生另一个压缩档案库? .NET世界中有许多操作zip文件的选项。有些是商业图书馆,有些是开源的。你甚至可以将包含在.NET 3.0中的System.IO.Packaging API放入一个zip库中。但是他们都有权衡。有些人愿意以较低的价格放弃商业支持。有些人不喜欢GPL。其中一些其他软件包对于使用zip文件非常复杂。其中一些没有足够的功能(例如,AES加密,ZIP64,拉链跨越)。有些太慢了。我发现,大多数人想要简单易用的东西,效果很好,具有良好的功能,有效和快速地压缩,并且价格合适。 DotNetZip就是这个选项。它很快,很简单,它是免费的。

+0

DotnetZip的问题是当你创建一个更大的大小的zip提取不能在Windows中正常工作 – NeerajM

+0

你能链接我一个源为了那个原因?因为根据他们的文档,他们支持与zip标准相同的大小限制。我们还谈论了多少数据? – fk2