密码保护的zip文件不是zip中的文件

时间:2014-12-10 13:22:44

标签: java zip4j

我想创建受密码保护的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密码保护而不是文件里面的文件。

1 个答案:

答案 0 :(得分:1)

不可能,对不起。

不符合.ZIP文件格式规范的文件。它指出,虽然实际文件是加密的,但元数据(包括文件名和大小)加密。这一直是一个争论的话题,但这就是它的方式。它的一个用途是你得到你的好"密码不正确"而不是垃圾文件。

无论哪种方式 - 不要依赖.zip文件加密。这是。不是真的 - 非常非常糟糕。它容易受到大量攻击。

如果你想要一个正确加密的.zip文件 - 那就做吧。制作.zip文件,然后使用适当的加密来制作加密文件。 Java有相当多的加密工具。