良好的免费库用于压缩

Good free lib for compression

本文关键字:用于 压缩 免费      更新时间:2023-10-16

我需要压缩库来满足以下需求:

1(将目录打包在一个文件中,扩展名为我选择(例如.pack(

2( 处理此文件(目录(中的内容而不将其解压缩

3( 加密机制

我已经知道 zlib,但对我来说,它是丑陋的文档,没有写在任何地方支持它的功能

将目录打包在一个文件中,扩展名为我选择(例如.pack(

大多数存档程序不要求您使用特定的文件扩展名。无论如何,仍然可以在文件上调用file来猜测其内容类型。

处理此文件(目录(中的内容而不将其取消打包

可以手动创建文件列表,并在任何存档文件前面加上该列表。通常,Linux 的.sh安装程序在开头包含一个 shell 脚本,后跟一些魔术行,如__ARCHIVE_START__,后跟二进制存档。因此,可以从文件中读取行,直到读取__ARCHIVE_START__行。文件的其余部分是存档文件。

加密机制

一种简单的方法是使用不同的库进行存档和加密:

  1. 将文件捆绑到一个.tar中。
  2. .tar存档为.tar.xz.
  3. .tar.xz前面加上文件列表,后跟__ARCHIVE_START__行。
  4. 使用您喜欢的任何加密库加密文件。
你想要

的不是压缩库。 您需要一个或多个压缩、存档和加密库。 您需要存档才能将文件目录放入单个文件中。

您可以使用 zlib 进行压缩部分,但不能存档或加密。 zlib 记录在 zlib.h 中,您可以在那里看到一个使用示例,以及源代码分发包中的许多示例。

您可以构建自己的存档格式,也可以使用现有的存档格式,这些格式有库,例如zip或tar,这两种库都使用或可以指示使用zlib。

您可以使用OpenSSL进行高度加密。