Lil*_*ily 8 encryption zip android
我的应用程序会压缩几个文件,将zip文件保存到SD卡,然后将zip文件通过电子邮件发送到一个地址.
使用此代码完成压缩:使用Android压缩文件(以编程方式).
现在的问题是,如何在zip文件上设置密码,以便在计算机(Windows,Mac或Ubuntu)上打开它的授权人员能够使用提供的密码提取文件?
我读过这篇文章:Android zip文件验证,但听起来拉链的读取是用另一部手机完成的......或者我错了?如果有人知道请告诉我!谢谢!
我搜索了很多,终于找到了一个很好的库,可以轻松地使用密码压缩文件:
压缩:
ZipArchive zipArchive = new ZipArchive();
zipArchive.zip(targetPath,destinationPath,password);
Run Code Online (Sandbox Code Playgroud)
解压:
ZipArchive zipArchive = new ZipArchive();
zipArchive.unzip(targetPath,destinationPath,password);
Run Code Online (Sandbox Code Playgroud)
.rar:
RarArchive rarArchive = new RarArchive();
rarArchive.extractArchive(file archive, file destination);
Run Code Online (Sandbox Code Playgroud)
这个库的文档足够好,我只是从那里添加了一些例子。它是完全免费的,专为 android 编写。 链接
由于Android有一个JVM,您可以尝试使用您在java中看到的所有库(有些可以运行,有些不能,并且某些库的一些更改也可以)。
这样我将复制这个问题的答案(用 Java 编写受密码保护的 Zip 文件):
经过大量搜索,我发现了三种方法:
一组免费提供的源代码,适用于单个文件 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/上发布。它对我有用(zip 中的一个文件),并且很好地填补了 Java 开源库中的一个漏洞。
商业产品(撰写本文时价格为 500 美元)。我无法验证这是否有效,因为他们的试用许可证方法很复杂。它也是一个移植的.NET应用程序:http://www.nsoftware.com/ipworks/zip/default.aspx
商业产品(撰写本文时 290 美元)。仅适用于 Wnidows,因为它使用 dll:http://www.example-code.com/java/zip.asp
您还必须知道,也许将它们适应 Android 并不容易,但也许您很幸运,其中一些将立即为您运行。
祝你好运!