文件内加密文件系统

In-file encrypted filesystem

我在分发应用程序时遇到问题。我需要与我的应用程序一起分发一些数据,为了保存它,我想要一个 文件内文件系统 ,可跨平台移植,并且 加密 .

基本上,我想在运行时尽可能舒适地加载这些文件,例如遍历目录。

我可以使用 zlib,但即使是加密的存档也可以在没有密码的情况下进行分析:我可以看到 zip 内部,但看不到解压文件,我想避免这种情况。

有什么提示吗?

据我所知,"regular" Zip 没有加密文件名的选项。

7-zip (LZMA) 有这样的选项,所以你可以试着看看那个方向。不确定是否有可移植的 VFS(虚拟文件系统)实现,因为 zlib 就是这种情况(您可以在此处查看:https://github.com/figment/JA2-1.13/tree/master/Build/ext/VFS

或者,您可以 "encrypt" 自己在应用程序中的文件名(即文件名将被加密插入存档,应用程序将透明地解密它们)。但 7-zip 的优点是,如果文件名被加密,如果不提供正确的密码,它根本不会列出任何内容。

另一种可能是使用 TrueCrypt 文件容器(虽然我不知道有任何 SDK,但是有完整的 TrueCrypt 源代码可用,所以我想应该可以将它集成到一个应用程序中一些努力)。