如何创建一个正常的密码

我的应用程序将zip文件压缩成多个文件,将zip文件保存到SD卡,然后通过电子邮件将zip文件发送到一个地址。

使用此代码完成压缩:使用Android压缩文件(以编程方式)。

现在的问题是,如何在zip文件上输入密码,以便在计算机上打开它的授权用户(Windows,Mac或Ubuntu)能够使用提供的密码提取文件?

我阅读这篇文章:Android zip文件认证,但听起来我的读取zip是用另一个电话完成的......或者我错了吗? 如果有人知道,请让我知道! 谢谢!


因为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可能并不容易,但也许您很幸运,其中一些会立即为您运行

祝你好运!


我搜索了很多,最终找到了一个很好的库,可以轻松地用密码压缩文件:

压缩:

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写的。

链接地址: http://www.djcxy.com/p/9785.html

上一篇: How to create a normal password

下一篇: Template argument deduction fails on MSVC: bug?