我需要压缩库以满足以下需求:
1)将目录打包在一个文件中,扩展名为我的选择(例如.pack)
2)使用此文件(目录)中的内容而不将其取消
3)加密机制
我已经知道了zlib,但是对我来说它很难记录,并且没有写任何功能支持它的地方
答案 0 :(得分:2)
将目录打包在一个文件中,扩展名为我的选择(例如.pack)
大多数档案管理员不要求您使用特定的文件扩展名。无论如何,人们仍然可以在文件上调用file
来猜测其内容类型。
使用此文件(目录)中的内容而不将其取消
可以手动创建文件列表,并在其前面添加任何存档文件。通常,Linux的.sh
安装程序在开头包含一个shell脚本,然后是一些魔术行,如__ARCHIVE_START__
,后跟二进制存档。因此,可以从文件中读取行,直到读取__ARCHIVE_START__
行。文件的其余部分是存档文件。
加密机制
一种简单的方法是使用不同的库进行存档和加密:
.tar
。.tar
归档为.tar.xz
。.tar.xz
添加到文件列表后跟__ARCHIVE_START__
行。答案 1 :(得分:1)
您想要的不是压缩库。您需要压缩,归档和加密库或库。您需要归档才能将文件目录放在一个文件中。
您可以使用zlib执行压缩部分,但不能使用存档或加密。 zlib中记录了zlib.h,您可以看到usage example there以及source distribution package中的许多示例。
您可以构建自己的归档格式,也可以使用现有的归档格式,例如zip或tar等库,这两个库都使用或可以指向使用zlib。
您可以使用OpenSSL进行强加密。