我的应用程序压缩了几个文件,将压缩文件保存到SD卡,然后通过电子邮件将压缩文件发送到一个地址。
压缩是使用以下代码完成的:Zipping Files with Android (Programmatically)。
现在的问题是,我如何在zip文件上设置密码,以便在计算机(Windows、Mac或Ubuntu)上打开它的授权人员能够使用提供的密码解压文件?
我读了这篇文章:Android zip file authentication,但听起来我是用另一部手机读压缩文件的……还是我错了?如果有人知道,请让我知道!谢谢!
发布于 2011-10-15 04:45:45
因为Android有一个JVM,你可以尝试使用你看到的所有java库(一些库可以运行,一些库不能运行,一些库的一些改动也是可以的)。
这样,我将复制过去的this问题的答案(用Java语言编写一个受密码保护的Zip文件):
经过多次搜索,我发现了三种方法:
免费提供的一套源代码,适用于单个文件压缩。但是,没有许可证。用法为AesZipOutputStream.zipAndEcrypt(...)。http://merkert.de/de/info/zipaes/src.zip ( https://forums.oracle.com/forums/thread.jspa?threadID=1526137 )
更新:这段代码现在是Apache许可的,并在http://code.google.com/p/winzipaes/上发布。它对我很有效(压缩包中的一个文件),并且很好地填补了Java开放源代码库中的一个漏洞。
商业产品(撰写本文时为500美元)。我不能验证这是否有效,因为他们的试用许可方法很复杂。它也是一个移植的.NET应用程序:http://www.nsoftware.com/ipworks/zip/default.aspx
商业产品(撰写本文时为290美元)。只适用于Wnidow,因为它使用了dll:http://www.example-code.com/java/zip.asp
你还必须知道,也许让它们适应安卓系统并不容易,但也许你很幸运,其中一些会立即为你运行,。
祝好运!
发布于 2017-11-07 17:24:58
我搜索了很多次,终于找到了一个可以很容易地用密码压缩文件的good library:
压缩:
ZipArchive zipArchive = new ZipArchive();
zipArchive.zip(targetPath,destinationPath,password);
解压:
ZipArchive zipArchive = new ZipArchive();
zipArchive.unzip(targetPath,destinationPath,password);
Rar:
RarArchive rarArchive = new RarArchive();
rarArchive.extractArchive(file archive, file destination);
这个库的文档已经足够好了,我只是从那里添加了一些示例。它是完全免费的,并且是专门为android编写的。Mvn Link
https://stackoverflow.com/questions/7773097
复制相似问题