C#中有压缩和加密库吗?

发布于 2024-07-04 01:36:18 字数 179 浏览 6 评论 0 原文

我想压缩一些文件(成 ZIP 格式)并加密它们,如果可以使用 C#。 有什么方法可以做到这一点吗?

加密可以作为压缩本身的一部分来完成吗?

I want to compress some files (into the ZIP format) and encrypt them if possible using C#. Is there some way to do this?

Can encryption be done as a part of the compression itself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

近箐 2024-07-11 01:36:18

对于压缩,请查看 System.IO.Compression 命名空间和加密请参见 System.Security.Cryptography

For compression, look at the System.IO.Compression namespace and for encryption look at System.Security.Cryptography.

指尖微凉心微凉 2024-07-11 01:36:18

GZipStream 类是处理压缩的本机方法。

至于加密,有很多 方法 来实现这一点,其中大部分位于 System.Security 命名空间中。 它们可以链接起来(加密压缩流或压缩加密流)。

The GZipStream class is a native way to handle compression.

As for encryption, there are many ways to do it, most of them in the System.Security namespace. They can be done chained (encrypt a compressed stream or compress an encrypted stream).

独留℉清风醉 2024-07-11 01:36:18

我知道这个问题已经很老了,但我必须补充两点。

首先,一些定义:

  • Zip:存档格式,用于将文件和文件夹重新分组为单个文件,并可选择加密数据。
  • Deflate:Zip 文件中用于压缩数据的压缩算法之一。 最受欢迎的一款。
  • GZip:使用 deflate 压缩的单个文件,具有较小的页眉和页脚。

现在,System.IO.Compression执行 Zip 归档。 它进行 deflategzip 压缩,从而将单个数据块压缩为另一个单个数据块。

因此,如果您正在寻找一种可以对多个文件和文件夹进行分组的存档格式,则需要 Zip 库,例如:

如果您只需要压缩和加密单个 blob数据,然后查看 System.IO.CompressionSystem.Security.Cryptography

I know the question is already old, but I must add my two cents.

First, some definitions:

  • Zip: Archive format for regrouping files and folders into a single file, and optionally encrypting data.
  • Deflate: One of the compression algorithms used within a Zip file to compress the data. The most popular one.
  • GZip: A single file compressed with deflate, with a small header and footer.

Now, System.IO.Compression does not do Zip archiving. It does deflate and gzip compression, thus will compress a single blob of data into another single blob of data.

So, if you're looking for an archive format that can group many files and folders, you need Zip libraries like:

If you only need to compress and encrypt a single blob of data, then look under System.IO.Compression and System.Security.Cryptography.

又怨 2024-07-11 01:36:18

Chilkat 提供用于压缩和加密的 .NET 库。

Chilkat provides .NET libraries for compression and encryption.

少女净妖师 2024-07-11 01:36:18

没有任何东西可以直接在 C# 中使用,但是您可以使用 J# 中的一些库来为您完成此操作:

http://msdn.microsoft.com/en-us/magazine/cc164129.aspx

应该做你想做的事吗?

关于加密,请查看以下链接:

http://www.codeproject .com/KB/security/fileencryptdecrypt.aspx

http://www.obviex. com/samples/EncryptionWithSalt.aspx

There isn't anything you can use directly in C#, however you can use some libraries from J# to do it for you:

http://msdn.microsoft.com/en-us/magazine/cc164129.aspx

Should do just what you want?

With regards to the encryption, have a look at these links:

http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx

http://www.obviex.com/samples/EncryptionWithSalt.aspx

﹏雨一样淡蓝的深情 2024-07-11 01:36:18

这是一个有用的主题:

帮助从 .Net 创建 Zip 文件并从 Java 读取它们

System.IO.Packaging 命名空间为您提供了有用的类来压缩 zip 格式的数据,并且 支持权限管理。

Here is a useful topic:

Help in creating Zip files from .Net and reading them from Java

System.IO.Packaging namespace gives you useful classes to compress data in zip format and support rights management.

梦途 2024-07-11 01:36:18

如果无法组合,则先压缩再加密。 压缩已经加密的文件将导致压缩率较低,因为大量冗余被删除。

If they cannot be combined, do compression first and then encryption. Compressing an already encrypted file will lead to poor compression ratios, because a lot of redundancy is removed.

独自唱情﹋歌 2024-07-11 01:36:18

我不确定这些步骤是否可以组合,但 .NET 对基本加密有很好的支持。 这是关于它的文章

I'm not sure if the steps can be combined, but .NET has good support for basic crypto. Here's an article on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文