我想创建受密码保护的ZIP:
// Set the compression level
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Set the encryption flag to true
// If this is set to false, then the rest of encryption properties are ignored
parameters.setEncryptFiles(true);
// Set the encryption method to Standard Zip Encryption
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
// Set password
parameters.setPassword(password);
但这只是加密zip文件里面的文件,但是我可以在里面打开这个zip和看文件。这不是我想要的,我想让zip密码保护而不是文件里面的文件。
答案 0 :(得分:1)
不可能,对不起。
不符合.ZIP文件格式规范的文件。它指出,虽然实际文件是加密的,但元数据(包括文件名和大小)不加密。这一直是一个争论的话题,但这就是它的方式。它的一个用途是你得到你的好"密码不正确"而不是垃圾文件。
无论哪种方式 - 不要依赖.zip文件加密。这是坏。不是真的 - 非常非常糟糕。它容易受到大量攻击。
如果你想要一个正确加密的.zip文件 - 那就做吧。制作.zip文件,然后使用适当的加密来制作加密文件。 Java有相当多的加密工具。