我在分发应用程序时遇到了问题。我需要在我的应用程序中分发一些数据,为了保存这些数据,我想要一个文件中的文件系统,跨平台移植和加密的。
基本上,我希望在运行时尽可能轻松地加载这些文件,例如遍历目录。
我可以使用zlib,但即使是加密的存档也可以在没有密码的情况下进行分析:我可以在zip中查看,但不能提取文件,我想避免这种情况。
有什么暗示吗?
发布于 2016-12-12 11:13:26
AFAIK“常规”Zip没有加密文件名的选项。
7-zip (LZMA)有这样一个选项,所以你可以试着看看这个方向。但是不确定是否有可移植的VFS (虚拟文件系统)实现,就像zlib的情况一样(您可以在这里查看:https://github.com/figment/JA2-1.13/tree/master/Build/ext/VFS)
或者,您可以在应用程序中自己“加密”文件名(即文件名将被插入到存档中,并且应用程序会透明地解密它们)。但是7 zip的优点是,如果文件名是加密的,如果没有提供正确的密码,它就不会列出任何内容。
另一种可能是使用TrueCrypt文件容器(虽然我不知道任何SDK,但是有完整的TrueCrypt源代码,所以我认为应该可以通过一些努力将它集成到应用程序中)。
https://stackoverflow.com/questions/41099140
复制相似问题