【发布时间】:2010-09-09 10:08:21
【问题描述】:
我想压缩一些文件(成ZIP 格式)并尽可能使用C# 加密它们。有没有办法做到这一点?
加密可以作为压缩本身的一部分吗?
【问题讨论】:
标签: c# encryption compression
我想压缩一些文件(成ZIP 格式)并尽可能使用C# 加密它们。有没有办法做到这一点?
加密可以作为压缩本身的一部分吗?
【问题讨论】:
标签: c# encryption compression
对于压缩,查看System.IO.Compression 命名空间,对于加密,查看System.Security.Cryptography。
【讨论】:
【讨论】:
我知道这个问题已经老了,但我必须加上我的两分钱。
首先,一些定义:
现在,System.IO.Compression不进行 Zip 归档。它会进行 deflate 和 gzip 压缩,因此会将单个数据块压缩成另一个数据块。
因此,如果您正在寻找一种可以对许多文件和文件夹进行分组的存档格式,您需要 Zip 库,例如:
如果您只需要压缩和加密单个数据块,请查看System.IO.Compression 和System.Security.Cryptography。
【讨论】:
GZipStream 类是处理压缩的原生方式。
至于加密,有manyways可以做,大部分在System.Security命名空间。它们可以链接完成(加密压缩流或压缩加密流)。
【讨论】:
Chilkat 提供用于压缩和加密的 .NET 库。
【讨论】:
我不确定这些步骤是否可以组合,但 .NET 对基本加密有很好的支持。这是article on it。
【讨论】:
如果不能合并,先压缩再加密。压缩已经加密的文件会导致压缩率变差,因为会删除很多冗余。
【讨论】:
这是一个有用的话题:
Help in creating Zip files from .Net and reading them from Java
System.IO.Packaging 命名空间为您提供有用的类来压缩 zip 格式的数据和support 权限管理。
【讨论】:
没有任何东西可以直接在 C# 中使用,但是您可以使用 J# 中的一些库来为您完成:
http://msdn.microsoft.com/en-us/magazine/cc164129.aspx
应该做你想做的事吗?
关于加密,请查看以下链接:
http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx
【讨论】: