代码之家  ›  专栏  ›  技术社区  ›  Niyaz

C中是否有压缩和加密库?

  •  3
  • Niyaz  · 技术社区  · 16 年前

    我想压缩一些文件 ZIP 格式化)并在可能的情况下使用c加密它们。有什么办法吗?

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

    9 回复  |  直到 12 年前
        1
  •  12
  •   Tim Cooper    12 年前

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

        2
  •  7
  •   prakash    16 年前
        3
  •  5
  •   community wiki Martin Plante    16 年前

    我知道这个问题已经老了,但我必须加上我的两分钱。

    首先,一些定义:

    • 拉链 :存档格式,用于将文件和文件夹重新分组为单个文件,并可选择加密数据。
    • 放气 :zip文件中用于压缩数据的压缩算法之一。最受欢迎的一个。
    • GZIP :用deflate压缩的单个文件,带有小的页眉和页脚。

    现在,system.io.compression可以 进行压缩存档。它确实 放气 GZIP 因此,压缩将把一个数据块压缩成另一个数据块。

    因此,如果您要查找可以对许多文件和文件夹进行分组的存档格式,则需要类似以下的zip库:

    如果只需要压缩和加密一个数据块,请查看 System.IO.Compression System.Security.Cryptography .

        4
  •  1
  •   Vinko Vrsalovic    16 年前

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

    至于加密,有 many ways 要做到这一点,大多数都在System.Security命名空间中。它们可以被链接(加密压缩流或压缩加密流)。

        5
  •  1
  •   Ian Nelson    16 年前

    Chilkat 为压缩和加密提供.NET库。

        6
  •  0
  •   Hank Gay    16 年前

    我不确定这些步骤是否可以组合,但是.NET对基本加密有很好的支持。这里有一个 article on it .

        7
  •  0
  •   Rik elirevach    16 年前

    如果不能组合,请先进行压缩,然后进行加密。压缩一个已经加密的文件会导致很低的压缩比,因为大量的冗余被删除。

        8
  •  -1
  •   Community CDub    8 年前

    以下是一个有用的主题:

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

    packaging namespace为您提供了一些有用的类,用于压缩zip格式的数据和 support 权利管理。

        9
  •  -1
  •   Mark Ingram    16 年前

    在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